首页 > 解决方案 > 我如何在 odoo 10 中继承 JS 类?

问题描述

我正在尝试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

我该如何解决这个问题?

标签: odooodoo-10

解决方案


我查看了 Odoo javascript 代码,它似乎mail.chat_client_action实际上并没有返回任何可用的东西。

例如:在mail.chatter( addons/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


推荐阅读