我有这个错误
Unable to parse bindings.
Message: TypeError: Cannot read property 'length' of undefined;
Bindings value: text:SomeArray().length
我在这里重新创建了错误。
http://jsfiddle.net/LkqTU/12758/
var somevalue = [{Test:[]}]; // this is not always blank, but i cannot control it.
var ViewModel = function() {
this.SomeArray=ko.observableArray(somevalue.Test);
};
<span data-bind="text:SomeArray().length"></span>
<!-- ko if: SomeArray().length>0 -->
Hello World!
<!-- /ko -->
使用
<!-- ko if: SomeArray() -->
Hello World!
<!-- /ko -->
不会创建错误,但在数组为空时也不会跳过“Hello World”消息。 我需要检查数组是否为空白,并且仅在非空白时显示消息。
我不能使用foreach
,因为我不是通过数组循环而只是检查它是否只是空白。
答案 0 :(得分:1)
somevalue是一个数组。所以somevalue.Test没有定义,但somevalue [0] .Test将返回[]。
this.SomeArray=ko.observableArray(somevalue[0].Test);