Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在触发器事件上重新呈现主干.木偶模板_Javascript_Backbone.js_Scope_Marionette - Fatal编程技术网

Javascript 在触发器事件上重新呈现主干.木偶模板

Javascript 在触发器事件上重新呈现主干.木偶模板,javascript,backbone.js,scope,marionette,Javascript,Backbone.js,Scope,Marionette,我正在使用主干木偶渲染页面上的布局。但是,在初始呈现之后,我尝试在通过触发(“RefModal:PayRef”)发出退款后重新呈现页面上的一个部分模板。不幸的是,我最终出现了以下错误: '未捕获的TypeError:无法读取未定义的'show'属性' 经过一些调试后,似乎我不再有访问totalRegion的权限,因为“that.totalRegion”变得未定义,因此出现错误(“that”似乎仍然有作用域) 如果有人能在第二、第三、第四等位置帮助访问“totalRegion”,那么触发“RefM

我正在使用主干木偶渲染页面上的布局。但是,在初始呈现之后,我尝试在通过触发(“RefModal:PayRef”)发出退款后重新呈现页面上的一个部分模板。不幸的是,我最终出现了以下错误: '未捕获的TypeError:无法读取未定义的'show'属性' 经过一些调试后,似乎我不再有访问totalRegion的权限,因为“that.totalRegion”变得未定义,因此出现错误(“that”似乎仍然有作用域)

如果有人能在第二、第三、第四等位置帮助访问“totalRegion”,那么触发“RefModal:PayRef”就太棒了。我希望这是足够的信息继续下去

views.OrderDTLayout = Marionette.Layout.extend({
        template: "orderManagement/bb-total-layout.dust",
        className: "bbMgmt",
        regions: {
            totalRegion: "#bb-total-region",
            shippingRegion: "#bb-global-shipping-region"
        },
        events: {
            "click #bb-cancel": "showCancelModal",
            "keypress #bb-cancel": "handleShowCancelModal"
        },
        initialize: function () {
            var that = this;
            var spinnerMod =  mad.App.module("Seller.OrdMgmt.Spinner");
            this.loadingController = new spinnerMod.Controller();

            mad.App.vent.on("RefModal:PayRef", function (orderModel) {
                var totalView = mad.App.Seller.OrdMgmt.OrdTotals.Controller.createPackageOrderTotals(orderModel);
                that.totalRegion.show(totalView);
            });

//triggered from separate file
mad.App.vent.trigger("RefModal:PayRef", order)

尝试将此的上下文绑定到事件处理程序:

mad.App.vent.on("RefModal:PayRef", function (orderModel) {
    var totalView = mad.App.Seller.OrdMgmt.OrdTotals.Controller.createPackageOrderTotals(orderModel);
    that.totalRegion.show(totalView);
}, this);

请注意,这是作为最后一个参数传入的。然后您可以访问
this.totalRegion.show(view)

真棒,谢谢您的修复。最后,我不得不通过:
mad.App.vent.on(“RefModal:PayRef”,function(orderModel){var totalView=mad.App.Seller.OrdMgmt.OrdTotals.Controller.createPackageOrderTotals(orderModel);this.show(totalView);},this.totalRegion)