标签:
列表操作是经常会遇到的一个场景,使用监控数组,你可以:
这里需要单独提示一点对Observable Array理解可能出现偏差的地方:
var myObservableArray = ko.observableArray(); //建立一个监控数组 myObservableArray.push(‘Some value‘); //使用push方法添加数组元素 var anotherObservableArray = ko.observableArray([ { name: "Bungle", type: "Bear" }, { name: "George", type: "Hippo" }, { name: "Zippy", type: "Unknown" } ]);//可以在建立监控数组的同时初始化数组
alert(‘The length of the array is ‘ + myObservableArray().length);//使用()号读取数组元素,然后就可以随意操作JS Array对象的属性 alert(‘The first element is ‘ + myObservableArray()[0]);//读取第一个元素
var a =ko.observableArray([‘1‘,‘2‘])//初始化的时候写入值 a([‘3‘,‘4‘]);//使用(value)方式重新写入数据,现在a()=[‘3‘,‘4‘]
var myObservableArray = ko.observableArray(); myObservableArray.subscribe(function (newVal) { alert(newVal.length); alert(newVal[0]); });//订阅数组元素变化事件,newVal将会传入变化后的数组对象 myObservableArray.push(‘1‘);//push一个新元素进去,会alert一个长度,和‘1‘
var myObservableArray = ko.observableArray(["item1", "item2", "item3", "item4", "item5", "item6", "7", "8"]); //构建监控数组 myObservableArray.remove("item1");//移除item1 myObservableArray.remove(function (item) { return item.length < 4;//只有长度小于4的元素被移除 });//移除 "7", "8" myObservableArray.removeAll(["item2", "item3"]);//移除item2,item3 myObservableArray.removeAll();//移除所有的
knockout Observable Array(监控数组)
标签:
原文地址:http://www.cnblogs.com/niusys/p/4265648.html