KnockoutJS数组

时间:2012-12-31 13:35:09

标签: javascript arrays knockout.js observable

请结帐这个JS Bin http://jsbin.com/iqikuf/3/edit

当在控制台中运行以下内容时,显示的结果对我来说很有意义。

  

声明:vd.tools.push(dataItem);
resuelt:2

但是为什么我们在控制台中运行时会得到以下结果?

  

声明:vd.tools.length
结果:0

2 个答案:

答案 0 :(得分:2)

正如DCoder指出的那样

需要括号

vd.tools()。长度

答案 1 :(得分:1)

我想整合并解释DCoder的答案。

vd.tools引用 observableArray ,它是一个Javascript对象,length属性不引用存储的项目数。

通过“添加括号”vd.tools(),我们获取对底层数组 的引用,该引用由KnockoutJS的observableArray包装。

这是存储我们数据的真实数组,在这里我们可以要求length属性期望正确的结果。

因此,DCoder的答案非常有意义。