簡體   English   中英

odoo 11無法加載javascript代碼

[英]odoo 11 not load javascript code

我正在嘗試根據文檔執行一小段javascript代碼,但無法使其正常工作

__manifiedt__.py

'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', {})

template.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();
});
});

錯誤

在此處輸入圖片說明

一切正常,但是我在加載頁面時拋出錯誤,所以我看不到demo.views

我做了一些更改,現在可以了

__manifiedt __。xml

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

js_pg.js

重命名功能

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

調用init方法中的_super方法

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_application中的appent模板

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>

acp.xml

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM