淘汰多页脚本

时间:2016-09-24 16:55:22

标签: knockout.js

我有一个问题。

假设我有2页使用的1个淘汰模型(page1.html / page2.html)。

例如,如何提醒第2页第1页中的可观察值是否已更改?

我只需要一般性的解释。

非常感谢你的时间,好先生!

[我想要做的是:Page1是一个控制器[(我在其中修改了observables - 例如:我告诉我希望如何在第2页显示信息]

在第2页中,我按照我在第1页中选择的方式显示信息。

[例如:我想要一个ko.showOnDashboard(true),根据具体情况,我想将它设置为false或者让它像这样,并根据它,显示第2页上的元素或不是] < / p>

@我是淘汰赛的新手:D

1 个答案:

答案 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>