使用odoo js从一个小部件调用到另一个小部件

问题描述 投票:1回答:1

Js Xml 路径:module_name-static-src-xml:

    <div t-name="widget_1">
       <button type="button" id = "button_1" >Click</button>
      <div id = "test"> </div>
   </div>
   <div t-name="widget_2">
        <p>Second Widget</p>
   </div>

Js:

odoo.define("module_name.name", function(require) {
    "use strict";

 var Widget = require("web.Widget");

    var Widget_Extend = Widget.extend({
        template: "widget_1",

        start: function() {
             var self = this;
             $(document).ready(function(){
                   setTimeout(function(){
                        $(document).on("click", "#button_1", function() {
                            var widget_call = '';
                            widget_call = '<div id ="test"></div>'
                            widget_call + = '<t t-call="widget_2"/>'
                            $('#test').html(widget_call);
                        });
                   });
             });
        }
    });

 core.action_registry.add("module_name.name", Widget_Extend);
});

注意:我尝试使用js调用“ widget_2”,但无法获得期望的结果。我不确定这种调用小部件的方式,但是我已经尝试了很多。如果有人可以使用js从第一个小部件调用第二个小部件,请告诉我。

预计有关此问题的所有信息。

谢谢。

odoo-8 odoo-10 odoo-9 odoo-11
1个回答
0
投票

您可以将一个小部件继承到另一个小部件,例如,看起来可能像这样:

© www.soinside.com 2019 - 2024. All rights reserved.