我试图根据文档执行一个小的javascript代码,但是我无法使它工作。
__manifiest__.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。
发布于 2018-07-12 14:16:08
我做了些改变,现在起作用了
__manifiest__.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
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>https://stackoverflow.com/questions/51292559
复制相似问题