我需要从我扩展的“FavoriteMenu”小部件中调用“FilterMenu”小部件的功能。 有标准的Odoo小部件:
odoo.define('web.FilterMenu', function (require) {
"use strict";
var data_manager = require('web.data_manager');
var search_filters = require('web.search_filters');
var search_inputs = require('web.search_inputs');
var Widget = require('web.Widget');
return Widget.extend({
...
另一个我延伸:
odoo.define("favorite_editor.favorite", function (require) {
"use strict";
var FavoriteMenu = require('web.FavoriteMenu');
var FilterMenu = require('web.FilterMenu');
...
FavoriteMenu.include({
...
edit_filter: function (filter, $filter, key) {
var self = this;
var filter_menu = new FilterMenu();
fields = filter_menu.get_fields();
按下某个按钮调用函数edit_filter
,其工作正常
最后一行是错误的,因为get_fields
函数this
包含FavoriteMenu
而非FilterMenu
实例,但我需要FilterMenu
个实例。
此外,我需要已存在的FilterMenu
实例,以便使用现有数据。
有人可以建议如何处理吗?