如何从javascript获取odoo模型?

问题描述 投票:0回答:2

我正在尝试制作一个附加到 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);

});
odoo odoo-11
2个回答
2
投票

我记得你可以像这样访问小部件的模型:

         this.model // or self.model if you defined self (self = this)

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


0
投票

您可以从父母那里获取:

const model = this.getParent().getParent()._current_state.model;
© www.soinside.com 2019 - 2024. All rights reserved.