我写了一个简单的例子来了解ko.observableArray是如何工作的。
**HTML**:
Count is : <span data-bind="text anotherObservableArray().length"> </span>
JS:
var anotherObservableArray = ko.observableArray( [
{ name: "A", type: "A" },
{ name: "B", type: "B" },
{ name: "C", type: "C" }
]);
ko.applyBindings(anotherObservableArray);
以下是我尝试实施
的示例链接http://jsfiddle.net/Rama_Kishore/ZPDBv/
我期待“Count is:3”输出,而不是输出是“Count is:”
请让我知道为什么没有显示计数。
感谢。
答案 0 :(得分:2)
这是你小提琴的工作分叉:
请注意 text binding 语法包含冒号:
<span data-bind="text: anotherObservableArray().length"></span>
在javascript中注意如何使用ko.applyBindings
。查看淘汰文档
for Activating Knockout:http://knockoutjs.com/documentation/observables.html
var vm = {
anotherObservableArray: ko.observableArray([{
name: "A",
type: "A"
}, {
name: "B",
type: "B"
}, {
name: "C",
type: "C"
}])
};
ko.applyBindings(vm);
另外值得注意的是,你的原始小提琴是不包括knockoutjs库。
答案 1 :(得分:1)
几个问题:
小提琴:link
var vm = {
anotherObservableArray : ko.observableArray( [
{ name: "A", type: "A" },
{ name: "B", type: "B" },
{ name: "C", type: "C" }
])
}
ko.applyBindings(vm);
答案 2 :(得分:0)
ko.observableArray
应该是model
对象的一部分
例如。
var viewModel = new function()
{
this.anotherObservableArray = ko.observableArray(...);
}
或
var viewModel = {
anotherObservableArray : ko.observableArray(...);
}
应用绑定
ko.applyBindings(viewModel);
你可以在这里找到非常好的knockout online-tutorial