2013-02-19 91 views
0

我正在使用這個knockoutjs教程將數組轉換爲可觀察數組。 http://knockoutjs.com/documentation/observableArrays.html。但是給出的下面一行給了我一個零長度的數組。Knockoutjs不是將數組轉換爲可觀察數組?

var anotherObservableArray = ko.observableArray([ 
    { name: "Bungle", type: "Bear" }, 
    { name: "George", type: "Hippo" }, 
    { name: "Zippy", type: "Unknown" } 
]); 

爲什麼anotherObservableArray不起作用?

<ul data-bind="foreach: anotherObservableArray"> 
    <li data-bind="text: name"></li> 
</ul> 

隨着淘汰賽/ JS:

var viewModel = function() { 
    this.anotherObservableArray = ko.observableArray([ 
    { name: "Bungle", type: "Bear" }, 
    { name: "George", type: "Hippo" }, 
    { name: "Zippy", type: "Unknown" } 
    ]); 
}; 

ko.applyBindings(new viewModel()); 

this jsfdiddle

+2

你是如何訪問它來獲得零長度的數組? anotherObservableArray()。length應該可以工作 – ryadavilli 2013-02-19 07:36:27

+0

Yup謝謝..我在考慮js數組 – user960567 2013-02-19 07:44:32

回答

3

您應該訪問底層數組的長度而不是可觀察數組本身。
anotherObservableArray().length會給你適當的長度。

檢查此琴:http://jsfiddle.net/jfSG8/

2

你如何使用var anotherObservableArray,但下面應該工作你還沒有告訴我們。

請注意,我沒有使用var存儲observable數組,而是將其創建爲視圖模型上的屬性。