【发布时间】:2016-07-14 23:50:30
【问题描述】:
我有一个对象数组,其中每个对象代表视图视图的数据。我想为每个对象启动一组属性,以便我可以轻松地从一个函数添加到对象上。我这样做的方式是这样的。
var createViewProperties = function () {
return {
rightContentVisibility: ko.observable(true) // normally false, true for testing
};
};
var data= [
{
headline: "Are you interested in helping others?",
viewProperties: new createViewProperties(),
},
{
headline: "This is a second modal view",
viewProperties: new createViewProperties(),
}
];
然后我找到我想要显示的正确对象并更新视图模型的对象。在 HTML 中,我像这样绘制视图。
<div data-bind="with: currentView">
<div data-bind="css: $data.headline" class="cover-img"></div>
<div data-bind="$data.viewProperties.rightContentVisibility"></div>
</div>
但是浏览器的 .rightContentVisibility 未定义,我没有正确实例化这些对象吗?当我在对象上暂停调试器时,它似乎具有整个可观察的 .viewProperties,但是一旦它进入 dom,它就不知道它是什么,这里出了什么问题?
【问题讨论】:
标签: knockout.js