我正在使用 ko 映射插件从 JS 对象创建我的 observables ko.mapping.fromJS()
,.
该对象的片段如下:
{ Name: "blah", Parent: { Title: "blah", Url: "/blah" } }
如果Parent.Title
发生更改,那么我页面上的所有内容都会按预期更新,但是当Parent
变为 null 时,我遇到了问题。使用Parent
属性的简化标记如下所示:
<p data-bind="if: HasParent">Up: <a data-bind="text: ParentTitle"></a></p>
HasParent
看起来像这样:
self.HasParent = ko.computed(function () {
return self.Parent;
});
ParentTitle
看起来像这样:
self.ParentTitle = ko.computed(function () {
return self.HasParent() ? self.Parent.Title() : "";
});
注意:self
设置为返回的结果ko.mapping.fromJS()
,然后通过调用应用到页面ko.applyBindings();
所以基本上我的问题是HasParent
函数总是返回一个真实的值。
另外,这是我的第一个 ko 项目,所以如果我能以更好的方式做任何事情,请告诉我 :)
任何帮助,将不胜感激。
谢谢。