我正在使用twitter bootstrap和Knockout.js构建一个复杂的UI。为了实现这一点,我将我的页面分成了许多不同的逻辑组件。
是否可以使用
为每个组件定义视图模型并使用id绑定它 ko.applyBindings(myViewModel, document.getElementById('someElementId'))
而不是定义单个视图模型并将整个页面绑定到那个?它是否有任何性能问题?
答案 0 :(得分:15)
以这种方式绑定是好的,它的性能不会更差。
当您绑定子章节时,您需要确保不会多次将绑定应用于同一区域。如果将绑定应用于父元素,然后应用于子元素,则会发生这种情况。
如果您需要这样做(绑定单个部分,还有整体视图模型),那么您可能希望执行以下操作:http://www.knockmeout.net/2012/05/quick-tip-skip-binding.html