如何在Odoo 10中继承JS类?

时间:2019-08-01 11:13:01

标签: odoo odoo-10

我正在尝试在自定义模块中继承mail.chat_client_action类,但是我得到undefined作为输出。

这是我的代码:

odoo.define('my_module.inherit_calss_name',function (require){

   var chatClient = require('mail.chat_client_action');

   //Imported some other modules

   console.log('chatClient',chatClient);//Prints undefined

   chatClient.include({
     //my code here.
   });
});

在控制台中,出现错误chatClient is undefined

我该如何解决?

1 个答案:

答案 0 :(得分:0)

我浏览了Odoo的javascript代码,看来mail.chat_client_action实际上没有返回任何可用的内容。

例如:在mail.chatteraddons/mail/static/src/js/chatter.js)中,代码如下:

odoo.define('ls_base.Chatter', function (require) {
"use strict";

<CODE CODE CODE>

var Chatter = form_common.AbstractField.extend({

<chatter chatter chatter>

});

core.form_widget_registry.add('mail_thread', Chatter);

return Chatter;

});

但是在addons/mail/static/src/js/client_action.js中:

odoo.define('mail.chat_client_action', function (require) {
"use strict";

<CODE CODE CODE>

core.action_registry.add('mail.chat.instant_messaging', ChatAction);

});

核心代码中没有return,因此require('mail.chat_client_action')undefined