我将使用事件来显示您的成功视图,以及使用布局来显示您的成功视图,如果它进入不同的位置。
MyLayout = Marionette.Layout.extend({
template: "#layout-template",
regions: {
form: ".form",
notification: ".return"
}
initialize: function () {
this.listenTo(this.model,'sync',this.showSuccess);
this.form.show(new FormView({model: this.model}));
},
showSuccess: function () {
this.notification.show(new VFormSuccess());
}
});
或者,您可以只对一个区域执行相同的操作,并让 FormView 成为布局本身。您只需要确保存在与通知区域匹配的元素layout-template
。
MyLayout = Marionette.Layout.extend({
template: "#layout-template",
regions: {
notification: ".return"
}
initialize: function () {
this.listenTo(this.model,'sync',this.showSuccess);
},
showSuccess: function () {
this.notification.show(new VFormSuccess());
}
});
这允许您执行以下操作:
然后,如果需要,您可以很容易地显示错误视图。你可以initialize
用
initialize: function () {
this.listenTo(this.model,'sync',this.showSuccess);
this.listenTo(this.model,'error',this.showError);
},
然后添加以下内容,确保创建 VFormError 视图。
showError: function () {
this.notification.show(new VFormError());
}