在我学习Knockout时,我已经看到了在单个视图中绑定多个视图模型的两种方法。我的问题是:
// Way 1
masterVM = {
viewModelA : new viewModelA(),
viewModelB : new viewModelB(),
viewModelC : new viewModelC(),
}
// Way 2
ko.applyBindings(viewModelA, document.getElementById('#div1'))
ko.applyBindings(viewModelB, document.getElementById('#div2'))
ko.applyBindings(viewModelC, document.getElementById('#div3'))
答案 0 :(得分:0)
回答故障......
- 在哪种情况下选择一种方式而不是另一种方式?
醇>
这是一个问题的背景,你的应用程序的大小,在逻辑的mannar中分离和组合关注,以及品味。其中包括。
- 使用方式1还是方式2有优势吗?
醇>
没有太大的区别。方法1要求您构建所有第一级子视图模型,或者在开始执行applyBindings之前至少知道它们是什么。
- 在单个视图中绑定多个视图模型的任何其他更好的方法吗?
醇>
正如评论中所提到的,您可以查看组件,但我个人认为更多内容适用于小部件和可重用控件,而不是应用程序的整个区域。