Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
9321 Lượt xem

Js Xml  Path: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);

});


Note:
I have tried to call "widget_2" using js but i could not get what i expect. I am not sure this the way to call the widget but i have tried a lot. If any one have some other way to call the 2nd widget from 1st widget using js kindly let me know.


Anticipating all kind of information about this problem.

Thanks.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Hi Sibi,
I think what you need to do is just render the template using its name. So instead of trying to call the widgets, just render them like,
var template_content = $(QWeb.render('widget_2'));
here 'widget_2' is the name, and then you can update the content

$('#test').html(template_content);


Thanks

Ảnh đại diện
Huỷ bỏ
Tác giả

Thanks for your reply. This information literally useful to me to fix this issue thanks a lot.

Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 12 18
8967
2
thg 2 18
4664
0
thg 10 17
5150
4
thg 10 17
4554
0
thg 7 17
2787