当通过 require.js 加载所有内容时,如何将部分 Knockout 视图模型传递给组件?

How do I pass parts of my Knockout viewmodel to a component when loading everything via require.js?

我开始使用 Knockout.js 个组件。我需要将一个组件作为我的视图模型的一部分作为其要使用的数据传递。

当viewmodel是全局的时候,这个就简单了

<my-component params="myGlobalViewModel.dataSubSet"></my-component>

当通过 require.js 加载 viewmodel 并且无法从全局范围访问它时如何执行此操作?

目前我还在全局变量中存储了对视图模型的引用,然后使用它。有没有更好的方法?

当您调用 ko.applyBindings() 时,您的视图模型已创建 "global"(从 HTML 绑定的角度来看)。如果 dataSubSet 是您的视图模型的成员,只需执行

<my-component params="dataSubSet"></my-component>