【问题标题】:Odoo V12 JavaScript FrameworkOdoo V12 JavaScript 框架
【发布时间】:2019-08-13 14:50:05
【问题描述】:

我对 Odoo V12 Javascript 框架有疑问。 我不知道 javascript 加载了什么或者还有其他问题:

odoo.define('titi.Home',['web.core','web.Dialog','web.Class'], function(require) {
    "use strict";

    var core = require('web.core'),
        Dialog = require('web.Dialog'),
        Class = require('web.Class');

    var TitiHouse = Dialog.extend({
        template: 'titi.her_house_name',
        events: {
            'click a#titi_s_house_name a': '_onClick',
        },
        init: function(parent, params) {
            var self = this;
            var options = _.extend({
                size: 'large',
                buttons: [{
                    text: params.titi_s_house_name,
                    click: self._onClick,
                    classes: 'btn-secondary',
                }],
            }, params || {});
            self._super(parent, options);
        },
        _onClick: function(event) {},
        willStart: function() {
            console.log('Will start .....');
        },
        start: function() {
            console.log('Start !!!');
        },
    });
    return TitiHouse;
});

我什么时候可以在模板中执行这个 javascript 文件? 或者如何在模板中执行该脚本?

【问题讨论】:

  • odoo>
  • 如果你的控制台显示'start !!!',这意味着文件加载良好
  • 没有进入我的系统控制台和 Chrome/Firefox 控制台。
  • 进入 web.assets_frontend js 文件,我看到我的脚本进入但导航控制台返回 nada de chez nada 或 rien de chez rien !!!
  • 如果模板是指 assets_backend,那么您的代码将与其他 Odoo js 代码捆绑到一个大 js 文件中。我在您的代码中看不到任何错误,但除非您使用 TitiHouse Dialgo,否则它不会在控制台上显示任何内容。 Dialog 类也是一个弹出表单(Bootstrap Modal),因此除非使用对话框,否则不会执行您的 console.log('...') 语句。

标签: javascript qweb odoo-12


【解决方案1】:

有几件事可能会导致问题:

1 - 您没有在 willStart 或 start 中调用 Dialog 小部件的超级方法。尝试制作这些:

...
willStart: function() {
    console.log('Will start .....');
    return this._super.apply(this, arguments);
},
start: function() {
    console.log('Start !!!');
    return this._super.apply(this, arguments);
},
...

2 - 您不是在扩展事件,而是在覆盖它们。您需要将事件参数化:

events: _.extend({}, Dialog.prototype.events, {
    'click a#titi_s_house_name a': '_onClick',
}),

尝试更改这些,看看是否有帮助。

【讨论】:

    猜你喜欢
    • 2019-06-11
    • 1970-01-01
    • 1970-01-01
    • 2021-07-03
    • 2022-11-11
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多