我有一个问题。
假设我有2页使用的1个淘汰模型(page1.html / page2.html)。
例如,如何提醒第2页第1页中的可观察值是否已更改?
我只需要一般性的解释。
非常感谢你的时间,好先生!
[我想要做的是:Page1是一个控制器[(我在其中修改了observables - 例如:我告诉我希望如何在第2页显示信息]
在第2页中,我按照我在第1页中选择的方式显示信息。
[例如:我想要一个ko.showOnDashboard(true),根据具体情况,我想将它设置为false或者让它像这样,并根据它,显示第2页上的元素或不是] < / p>
@我是淘汰赛的新手:D
答案 0 :(得分:1)
这通常以两种方式之一解决:
在两个页面(在您的示例中)可访问的父上下文中定义属性,例如。 “app”上下文,然后将您的Knockout视图中的该属性访问为blank = True
。这很简单,因为它符合熟悉的实践,可以在嵌套命名空间中构造功能。
或使用publish/subscribe design pattern。使用此方法的优点是组件(在本例中为页面)保持更松散地分离,因为值作为在主题或通道<上发布的参数从一个页面传递到另一个页面/ strong>即可。 R. Niemeyer为这种关注建立了the ko.postbox library。下面的示例显示了一个最小的vm,其中'displayname'属性订阅了'name-value'主题,并且每当第1页的'name'属性发生变化时,它都会更新其值。
要并排查看完整的实现,请查看a fiddle。
$parent.<property>