代码之家  ›  专栏  ›  技术社区  ›  Francisco

odoo11不加载javascript代码

  •  1
  • Francisco  · 技术社区  · 6 年前

    __manifiest公司

    'depends': ['base','website'],
    
    # always loaded
    'data': [
        'security/ir.model.access.csv',
        'views/views.xml',
        'views/templates.xml',
    ],
    

    constroller.py

    @http.route('/web_java_11/', auth='public',website=True)
    def list(self, **kw):
        return http.request.render('web_java_11.index_2', {})
    

    模板.xml

    <template id="ticket_assets" name="Ticket Viewer Application Assets" inherit_id="web.assets_frontend">
                    <xpath expr="." position="inside">
                        <script type="text/javascript" src="/bus/static/src/js/bus.js"/>
                        <script src="/web_java_11/static/src/js/js_pg.js"></script>
                    </xpath>
                </template>
    
                <template id="index_2" name="acp_index_2">
                    <t t-call="web.layout">
                        <t t-set="head">
                            <t t-call-assets="web.assets_common" t-js="false"/>
                            <t t-call-assets="web.assets_common" t-css="false"/>
                            <t t-call-assets="web.assets_backend" t-css="false" />
                            <t t-call-assets="web.assets_frontend" t-css="false" />
                        </t>
                        <div class="oe_application">hello app</div>
                    </t>
    
    </template>
    

    js.pg.js页

    odoo.define('demo.views', function (require) {
    "use strict";
    
    var core = require('web.core');
    var Widget = require('web.Widget');
    var bus = require('bus.bus').bus;
    
    var qweb = core.qweb;
    var _t = core._t;
    
    require('web.dom_ready');
    
    var acp_barcode = Widget.extend({
        template: "webjava_barcode",
        start: function(){
            console.log('ok');
        },
        });
    
    var $elem = $('.oe_application');
    var app = new acp_barcode(null);
    app.appentTo($elem).then(function(){
        console.log('end');
        bus.start_polling();
    });
    });
    

    enter image description here

    一切正常,但我抛出的错误时,加载页面,所以我看到的找不到demo.views

    1 回复  |  直到 6 年前
        1
  •  0
  •   Francisco    6 年前

    我做了一些改变,现在可以了

    'qweb': ['static/src/xml/acp.xml'],
    

    js公司_第js页

    重命名函数

    odoo.define('web_java_11.app',...
    

    require('web.dom_ready');
    var App = Widget.extend({
            template: "showData",
            init: function(parent) {
                console.log('init');
                this._super.apply(this, arguments);
            },
            start: function(){
                console.log('entra');
            },
      });
    

    类acp\u应用程序中的外观模板

    var $elem = $('.acp_application');
    var app = new App();
    app.appendTo($elem).then(function () {
        bus.start_polling();
     });
    

    template.xml

    <template id="index_2" name="acp_index_2">
    <html>
        <head>
            <t t-call-assets="web.assets_common" />
            <t t-call-assets="web.assets_backend"  />
            <t t-call-assets="web.assets_frontend"  />
        </head>
        <body>
            <div class="container">
                <div class="acp_application"></div>
            </div>
        </body>
    </html>
    </template>
    

    <templates id="template" xml:space="preserve">
        <t t-name="showData">
            <div>template</div>
            <button>send</button>
        </t>
    </templates>