0
我有兄弟姐妹的观点重新渲染一个相当标准的木偶ItemView控件和CompositeView中,看起来像这样:已经从木偶childview
List.LessonType = Marionette.ItemView.extend({
template: "lesson_types/list/lesson_type",
tagName: "tr",
triggers: {
"click #edit-lesson-type" : "edit:lesson:type:clicked"
}
});
List.LessonTypes = Marionette.CompositeView.extend({
template: "lesson_types/list/lesson_types",
itemView: List.LessonType,
itemViewContainer: "tbody"
});
在我的控制,我有:
lessonTypes: function(lessonTypes) {
var lessonTypesView;
lessonTypesView = this.getLessonTypesView(lessonTypes);
lessonTypesView.on("childview:edit:lesson:type:clicked", function(child, args) {
// a whole bunch of jquery
});
App.lessonRegion.show(lessonTypesView);
},
getLessonTypesView: function(lessonTypes) {
return new List.LessonTypes({
collection: lessonTypes
});
}
所有这一切JQuery基本上通过将contenteditable="true"
添加到td
来编辑子视图的el(它是一个表格行)。
当单击一行时,我希望任何恰好处于可编辑状态的其他表行都返回到原始的不可编辑状态。我可以以某种方式让兄弟视图重新渲染,或者在JQuery执行它之前重新渲染整个集合吗?