在 odoo 13 中扩展 Widget 的 init 方法

extend Widget's init method in odoo 13

我正在尝试扩展小部件的 init 方法以在页面加载时做一个简单的 console.log,但它不起作用,正确的方法是什么?

odoo.define('lliege_pdt_main.pdt_maps', function (require) {
    var Widget = require('web.Widget');

    var pdt_maps = Widget.extend({
        init: function (parent) {
            console.log("test");
            this._super(parent);
        },
    });
    return pdt_maps;
});

在您的情况下,您不想继承class逻辑意义上的小部件。您想要修改父项本身。这可以用 include 而不是 extend:

来完成
var pdt_maps = Widget.include({
        init: function (parent) {
            console.log("test");
            this._super(parent);
        },
});

不要忘记在资产调试(大猩猩)模式下进行调试。这是关于修补 JS class like this.

的官方文档