我正在尝试制作一个附加到 sysTrayMenu 的小部件,我需要在 on_click 事件上了解视图的当前模型。我知道我可以从当前浏览器网址获取它,但我想知道是否有更干净的方法从 odoo js api 获取它。
例如,如果用户位于新报价菜单中,我需要获取 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 // or self.model if you defined self (self = this)
所有小部件都有此属性,它的字符串类型包含模型的名称。
您可以从父母那里获取:
const model = this.getParent().getParent()._current_state.model;