Openerp 如何在Odoo 11中重写JS变量?
假设下面的类存在Openerp 如何在Odoo 11中重写JS变量?,openerp,odoo-11,Openerp,Odoo 11,假设下面的类存在 local.MyWidget = instance.Widget.extend({ events: { "click .my_button": "button_clicked", }, button_clicked: function() { console.log("Button Clicked"); } }); 我想在变量中再添加一个事件,如下所示 MyWidget.include({ events:
local.MyWidget = instance.Widget.extend({
events: {
"click .my_button": "button_clicked",
},
button_clicked: function() {
console.log("Button Clicked");
}
});
我想在变量中再添加一个事件,如下所示
MyWidget.include({
events: {
"click .new_button": "new_button_clicked",
},
new_button_clicked: function() {
console.log("New Button Clicked.");
}
});
上述方法不起作用,我得到的错误是
事件未定义
如何在odoo中实现这一点?您也可以这样做:
MyWidget.include({
init: function(parent, options) {
this.events["click .new_button"] = "new_button_clicked";
this._super(parent, options);
},
new_button_clicked: function() {
console.log("New Button Clicked.");
}
});
您也可以这样做:
MyWidget.include({
init: function(parent, options) {
this.events["click .new_button"] = "new_button_clicked";
this._super(parent, options);
},
new_button_clicked: function() {
console.log("New Button Clicked.");
}
});
嗨,Lucas,调用this.super方法之前需要初始化this.events,更改才能生效。我已经编辑了你的答案,请批准,我会将答案标记为正确。批准。谢谢你的反馈Vivek。@Vivek为什么我会得到这个。事件没有用这个定义?注意:我正在使用ListView。ListView中可能未定义include({..})@mkchx事件。请检查它是否存在。嗨,Lucas,在调用this.super方法之前需要初始化this.events,以使更改生效。我已经编辑了你的答案,请批准,我会将答案标记为正确。批准。谢谢你的反馈Vivek。@Vivek为什么我会得到这个。事件没有用这个定义?注意:我正在使用ListView。ListView中可能未定义include({..})@mkchx事件。请检查它是否存在。