如何刷新 compositeView Marionette
How to refresh a compositeView Marionette
使用Backbone + Marionette,如何在CompositeView的初始化方法中刷新视图?
这是我的代码:
View.RegionProofUploadView = Marionette.CompositeView.extend({
template : regionProofsTpl,
tagName : "div",
className : "panel panel-default",
childView : View.ProofUploadView,
childViewContainer : "div.pieces",
});
首先,正如我从您的评论中了解到的那样,您需要刷新(或者换句话说重新渲染)您的视图,而不是在初始化时(正如其他人指出的那样没有目的),而是在更改之后事件发生在子模型上。
在这种情况下,您可以使用 marionette.js childEvents 来监听 "change" 事件并对其采取行动。
View.RegionProofUploadView = Marionette.CompositeView.extend({
childEvents: {
'change:status': 'onStatusChange',
},
onStatusChange: function (model, value, options) {
this.render();
},
});
如果子模型状态属性发生变化,这应该(理论上)重新呈现您的复合视图。
让我知道这是否是您所期待的。
使用Backbone + Marionette,如何在CompositeView的初始化方法中刷新视图?
这是我的代码:
View.RegionProofUploadView = Marionette.CompositeView.extend({
template : regionProofsTpl,
tagName : "div",
className : "panel panel-default",
childView : View.ProofUploadView,
childViewContainer : "div.pieces",
});
首先,正如我从您的评论中了解到的那样,您需要刷新(或者换句话说重新渲染)您的视图,而不是在初始化时(正如其他人指出的那样没有目的),而是在更改之后事件发生在子模型上。
在这种情况下,您可以使用 marionette.js childEvents 来监听 "change" 事件并对其采取行动。
View.RegionProofUploadView = Marionette.CompositeView.extend({
childEvents: {
'change:status': 'onStatusChange',
},
onStatusChange: function (model, value, options) {
this.render();
},
});
如果子模型状态属性发生变化,这应该(理论上)重新呈现您的复合视图。 让我知道这是否是您所期待的。