Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带AngularJS的Odoo 10_Javascript_Angularjs_Openerp_Odoo 9_Odoo 10 - Fatal编程技术网

Javascript 带AngularJS的Odoo 10

Javascript 带AngularJS的Odoo 10,javascript,angularjs,openerp,odoo-9,odoo-10,Javascript,Angularjs,Openerp,Odoo 9,Odoo 10,我正在尝试使用AngularJS创建web扩展,但是,我做了以下操作: 我创建了小部件,并对其进行了渲染 我尝试将ng app和ng controller放在一些渲染的div上,结果是根本没有响应 似乎odoo只支持带有Marionnette.js的Backbone.js。 我也尝试对React.JS执行同样的操作,但没有任何效果 这是我的密码 resources.xml <?xml version="1.0" encoding="UTF-8"?> <odoo> &

我正在尝试使用AngularJS创建web扩展,但是,我做了以下操作:

  • 我创建了小部件,并对其进行了渲染
  • 我尝试将ng app和ng controller放在一些渲染的div上,结果是根本没有响应
似乎odoo只支持带有Marionnette.js的Backbone.js。 我也尝试对React.JS执行同样的操作,但没有任何效果

这是我的密码

resources.xml

<?xml version="1.0" encoding="UTF-8"?>
<odoo>
 <data>
    <!-- Adds all 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>
 <?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>
firstCtrl.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 we are getting the value in an 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;
 });
  var app = angular.module('myApp', []);
    app.controller('myCtrl', function($scope) {

    if($scope.firstName === 'Test')
        console.log('OK');
  });

Angular js和react js与odoo不兼容。。Odoo只适用于主干js。是的,我知道这一点,但我一直在寻找的是试图使角度或反应与简单的技巧工作。嘿。只是好奇,你有没有找到一个方法让它工作?我想在我负责的自定义模块中使用VueJS。@KyleSentent我已经找到了一种方法,并使其与ReactJS:d一起工作。我所做的是使用React.createClass语法,因为你知道,浏览器不理解ES6。我想你的Vue也有办法。谢谢你的回复:)如果可能的话,你介意在github或其他地方共享你模块的代码吗?我是奥多的新手,我必须说我仍然很困惑。我可以看到您将小部件添加到action_注册表中。你介意告诉我为什么吗?它有什么作用?你从那里去了哪里?对不起,如果我听起来很坚持的话。资源和文档的缺乏让我发疯。。。