Javascript DurandalJS:从另一个视图模型访问数据
以下是我的设置:Javascript DurandalJS:从另一个视图模型访问数据,javascript,durandal,Javascript,Durandal,以下是我的设置: • shell - sidebar (composition) - page 1 (tab 1) - page 2 (tab 2) 每个视图都有自己的视图模型,这些视图模型作为构造函数返回。我有一大块来自服务器的数据。其中一部分进入侧边栏,其余部分进入两页。我可以从shell中获取数据,并使用app.trigger将数据加载到侧边栏和第1页中,但如果触发器已经触发,我如何在切换选项卡后从第2页访问数据 是否有办法将这些数据存储在某个地方,并在我加载完某个视图模型后
• shell
- sidebar (composition)
- page 1 (tab 1)
- page 2 (tab 2)
每个视图都有自己的视图模型,这些视图模型作为构造函数返回。我有一大块来自服务器的数据。其中一部分进入侧边栏,其余部分进入两页。我可以从shell中获取数据,并使用app.trigger
将数据加载到侧边栏和第1页中,但如果触发器已经触发,我如何在切换选项卡后从第2页访问数据
是否有办法将这些数据存储在某个地方,并在我加载完某个视图模型后提取它们?您可以编写AMD模块,负责加载数据并将其保存在客户端。但是,如果您在viewmodels之间共享数据,我建议您使用breeze.js—一个特殊的JavaScript库,它提供了处理web应用程序中丰富数据的方法为什么页面2不能侦听事件并保持引用,直到它需要它?考虑使用共享AMD模块,如对后期响应的抱歉所讨论的。有很多东西需要消化。我知道这些都是客户端功能,但是除了不能使用EntityQuery方法之外,不使用服务器端breeze还有其他缺点吗?@Norbert,据我所知,您只能在客户端breeze中使用EntityQuery。唯一的缺点是在客户端复制您的模型。请随意查看Breeze.js网站上的NoDB、ESPN或Edmunds示例——它们展示了一种不用服务器端Breeze控制器和元数据就可以使用Breeze.js的方法