请结帐这个JS Bin http://jsbin.com/iqikuf/3/edit
当在控制台中运行以下内容时,显示的结果对我来说很有意义。
声明:vd.tools.push(dataItem);
resuelt:2
但是为什么我们在控制台中运行时会得到以下结果?
声明:vd.tools.length
结果:0
答案 0 :(得分:2)
正如DCoder指出的那样
需要括号
vd.tools()。长度
答案 1 :(得分:1)
我想整合并解释DCoder的答案。
vd.tools
引用 observableArray ,它是一个Javascript对象,length
属性不引用存储的项目数。
通过“添加括号”vd.tools()
,我们获取对底层数组 的引用,该引用由KnockoutJS的observableArray包装。
这是存储我们数据的真实数组,在这里我们可以要求length
属性期望正确的结果。
因此,DCoder的答案非常有意义。