【发布时间】:2020-09-05 08:51:15
【问题描述】:
我遵循this answer 建议的方法来处理多个视图模型并在我页面的不同部分使用它们。
某些视图模型将用于页面的多个部分和不同的元素,因此我不喜欢使用建议将视图模型应用于某些 DOM 元素的the second suggested solution。
所以我有这样的事情:
window.masterVM = {
vmA : new VmA(),
vmB : new VmB(),
vmC : new VmC(),
}
ko.applyBindings(masterVM, $(':root').get(0));
现在,在我的 HTML 上,我做这些事情:
<div data-bind="click: masterVM.vmA.demo">Click</div>
<div data-bind="click: masterVM.vmC.demo">Click</div>
这使得任何想要通过以下方式执行这些方法的人都可以在窗口对象中访问它:window.masterVM.vmC.demo()。
有没有什么办法可以隐藏它并以一种外部无法访问的方式封装它?
【问题讨论】:
-
如果您正在寻找我建议之外的其他内容,请给我留言。