Javascript 如何在web客户端上扩展基本字段小部件

Javascript 如何在web客户端上扩展基本字段小部件,javascript,web,openerp,Javascript,Web,Openerp,我正在尝试在web客户端上自定义基本字段对象。这是我的密码: openerp.web_mymodule = function(openerp) { openerp.web.form.Field = openerp.web.form.Field.extend({ init: function(view, node) { console.log('mine'); this._super(view, node);

我正在尝试在web客户端上自定义基本字段对象。这是我的密码:

openerp.web_mymodule = function(openerp) {

    openerp.web.form.Field = openerp.web.form.Field.extend({
        init: function(view, node) {
            console.log('mine');
            this._super(view, node);
        }
    });
    [...]

}
但它不起作用。AFAIK这应该和以下代码(在同一文件中)一样工作:

[...]
openerp.web.form.FieldChar = openerp.web.form.FieldChar.extend({

    init: function (view, node) {
        this._super(view, node);
        console.log('mine')
    }

});
我能看到的唯一区别是,包括FieldChar在内的所有小部件都在
view\u form.js
中注册,而
Field
则不是


我是不是错过了这背后的“黑魔法”?您是否尝试使用include而不是extend

openerp.web_mymodule = function(openerp) {

    openerp.web.form.Field.include({
        init: function(view, node) {
            console.log('mine');
            this._super(view, node);
        }
    });
    [...]
}

xmo在这里写了一个解释:

我只是在尝试同样的方法,而且确实有效:)我只是重新阅读了xmo给我的答案(!!),但我仍然觉得有点奇怪,因为我在字段obj的“真实实例”上操作,比如FieldChar和类似的作品:反正是tnx:)