javascript - Odoo 10 with AngularJS -
i'm trying create web extension using angularjs, however, did following:
- i created widget , rendered it.
- i tried put ng-app , ng-controller on rendered divs, , result there no response @ all.
it seemed odoo support backbone.js marionnette.js. tried same react.js nothing worked.
this code.
resources.xml
<?xml version="1.0" encoding="utf-8"?> <odoo> <data> <!-- adds assets in odoo --> <template id="assets_backend" name="static_resources_demo assets" inherit_id="web.assets_backend"> <xpath expr="." position="inside"> <script type="text/javascript" src="/odoo_angular/static/src/js/lib/angular.min.js"></script> <script type="text/javascript" src="/odoo_angular/static/src/js/controller/firstctrl.js"></script> <script type="text/javascript" src="/odoo_angular/static/src/js/angular_odoo.js"></script> </xpath> </template> </data> </odoo> angular_view.xml
<?xml version="1.0" encoding="utf-8"?> <templates id="angular_view_odoo"> <div t-name="angular_view_test" class="container"> <div class="row box"> <div ng-app="myapp" ng-controller="myctrl"> first name: <input type="text" ng-model="firstname"/> <br/> last name: <input type="text" ng-model="lastname"/> <br/> <br/> full name: {{firstname + " " + lastname}} </div> </div> </div> </templates> angular_odoo.js
odoo.define('odoo_angular', function (require) { "use strict"; var ajax = require('web.ajax'); var widget = require('web.widget'); var core = require('web.core'); var model = require('web.model'); var qweb = core.qweb; var _t = core._t; // here getting value in array. var widget_name = widget.extend({ init: function (parent, context) { var self = this; this.context = context; this._super(parent); }, start: function () { var self = this; this._super(); this.$el.empty().append(qweb.render("angular_view_test",{})); }, }); core.action_registry.add('angular_view', widget_name); return widget_name; }); firstctrl.js
var app = angular.module('myapp', []); app.controller('myctrl', function($scope) { if($scope.firstname === 'test') console.log('ok'); });
Comments
Post a Comment