如何从javascript获取odoo模型?

如何从javascript获取odoo模型?,odoo,odoo-11,Odoo,Odoo 11,我正在尝试做一个小部件来连接到sysTrayMenu,我需要知道on_click事件,视图的当前模型。我知道我可以从当前的浏览器url获取它,但我想知道是否有更干净的方法从OdooJSAPI获取它 例如,如果用户在“新报价”菜单中,我需要获取sale.order odoo.define('xx.systray', function (require) { "use strict"; var config = require('web.config'); var SystrayMenu = re

我正在尝试做一个小部件来连接到sysTrayMenu,我需要知道on_click事件,视图的当前模型。我知道我可以从当前的浏览器url获取它,但我想知道是否有更干净的方法从OdooJSAPI获取它

例如,如果用户在“新报价”菜单中,我需要获取sale.order

odoo.define('xx.systray', function (require) {
"use strict";

var config = require('web.config');
var SystrayMenu = require('web.SystrayMenu');
var Widget = require('web.Widget');
var ajax = require('web.ajax');


var xxMenu = Widget.extend({
    template:'solvo-support.helpMenu',
    events: {
        "click": "on_click",
    },
    on_click: function () {

//HERE I NEED TO GET THE CURRENT MODEL 
    },
});

SystrayMenu.Items.push(xxMenu);

});

我记得您可以访问小部件的模型,如下所示:

this.model//或self.model,如果您定义了self(self=this)

所有小部件都具有此属性。它的字符串类型包含模型的名称。

此.view.model
是一个选项,如果您的上下文中存在视图。如果没有,请尝试使用
此.field\u manager.datarecord
。它有很多当前记录的属性,您可能会在其中找到当前模型。即使是在
这个.field\u manager
中,你也可以找到它。是的,所有字段都有它,但在我的字段中定义不足,因为我需要当前视图的模型,它是一个小部件,将它放在systray中,是否有存储当前加载视图模型的核心模块?action manager呢?我不知道是否有办法直接从odoo变量中访问它可能是?!!