【发布时间】:2013-09-10 11:15:16
【问题描述】:
你知道它已经安静太久了,对吧? ;-)
我有一个主视图模型。在视图内部,我使用 compose 绑定来加载一个子视图,就其显示的数据而言,该子视图是“独立的”。
<div data-bind="compose: articleSection"></div>
而“articleSection”只是一个包含字符串的可观察对象:
var articleSection = ko.observable('viewmodels/lt_articleRead');
...因为根据用户操作,我可能希望在该 div 中加载不同的视图/模型。
在我的主视图模型中,我还有一个可观察的“articleSelected”:
var articleSelected = ko.observable(true);
...从列表中选择文章时设置。
在我的子视图 (lt_ArticleRead) 中,我有两个可以显示的 div。如果 articleSelected 为假,则为一个,如果为真,则为一个:
<div id="articleSelected" data-bind="visible: articleSelected()">
...
</div>
<div id="articleNotSelected" data-bind="visible: articleSelected()">
<p>Please select an article from the list on the left or create a new one</p>
</div>
我尝试使用“$root.articleSelected()”和“$parent.articleSelected”从主视图模型中访问 observable,但都不起作用。我是否必须“要求”子视图中的父视图模型才能正常工作?
【问题讨论】:
标签: knockout.js requirejs durandal