Knockout.js 读取带敲除的嵌套对象值时出现问题

Knockout.js 读取带敲除的嵌套对象值时出现问题,knockout.js,Knockout.js,我在剔除读数值方面遇到了一些问题。 我有这样的对象: <div data-bind="text: domains.length"></div> //output = 0 //输出=0 及 //输出=无法读取未定义的属性“域” 那里出了什么问题 顺便说一下,我正在使用返回viewmodel它位于一个带有映射的HotTower/durandal项目中。fromJS我认为当您在域数组中没有项时,您及时得到了错误 M.b.在文本装订之前添加剔除“如果”语句是明智的吗 &

我在剔除读数值方面遇到了一些问题。 我有这样的对象:

<div data-bind="text: domains.length"></div> //output = 0

//输出=0

//输出=无法读取未定义的属性“域”
那里出了什么问题


顺便说一下,我正在使用
返回viewmodel
它位于一个带有
映射的
HotTower/durandal
项目中。fromJS

我认为当您在域数组中没有项时,您及时得到了错误

M.b.在文本装订之前添加剔除“如果”语句是明智的吗

<div data-bind="if:domains().length > 0">
  <div data-bind="text: domains()[0].domain"></div>
</div>

或虚拟if语句:

<!-- ko if: domains.length > 0-->
   <div data-bind="text: domains()[0].domain"></div>
<!-- /ko -->


您是如何创建传递给
ko.applyBindings()
的视图模型的它在一个
HotTower/durandal
项目中,我正在使用
映射。fromJS
如果
域。长度实际上是0,您正在检查的对象和在该点实际绑定的对象是不同的。假设
domains
是一个
observearray
对象,您只需在访问其值之前调用它:
text:domains().length
text:domains()[0]。domain
@haim770它正在工作,谢谢
<!-- ko if: domains.length > 0-->
   <div data-bind="text: domains()[0].domain"></div>
<!-- /ko -->