计算数组长度打破页面呈现

时间:2016-01-31 21:20:17

标签: knockout.js

我有一个计算数组变量,我已经注意到有时访问'长度的页面'计算数组的属性将因未定义的错误而中断。这可能是因为当页面已经被渲染时,计算出来的东西还没有返回任何内容。

是否有任何已知的解决方法?

1 个答案:

答案 0 :(得分:0)

如果您的可观察数组的名称类似于myArray,则可以执行以下操作:

if (myArray && myArray.length) {
   // here you're safe to access length
}

在JavaScript中,您可以检查某些内容是否以这种方式定义,因为js会合并所有内容(但undefinednull0false,空字符串以及我的内容必须忘记现在)真实。

如果它是一个可观察的数组,你应该用这种方式检查它:

if (myArray() && myArray().length) {
   // here you're safe to access length
}