读取可观察属性:myViewModel.personName()
设置可观察属性:myViewModel.personName(““ Mary”“)
同时设置多个可观察属性:myViewModel.personName(“ Mary””)。personAge(50)链式语法
数组
- 初始化空数组
var myObservableArray = ko.observableArray();
myObservableArray.push(""Some value""); // 加值并通知观察者
- 初始化赋值
var anotherObservableArray = ko.observableArray([
{ name: "Bungle", type: "Bear" },
{ name: "George", type: "Hippo" },
{ name: "Zippy", type: "Unknown" }
]);
- 自定义排序
myObservableArray.sort(function(left, right) { return left.lastName == right.lastName ? 0 : (left.lastName < right.lastName ? -1 : 1) })
三目运算嵌套
- 数组截取
myObservableArray.splice()
myObservableArray.splice(1, 3)
// 代表从数组的第一个元素开始,截取三个元素,并且将他们作为数组返回。
*其他常用的数组方法
unshift ,push: 增加 ; shift, pop:删除 ; reverse: 反转
- 特有的方法
remove
myObservableArray.remove(someItem)
// 移除myObservableArray数组内所有匹配someItem的对象, 并把这些对象组成一个数组返回
myObservableArray.remove(function(item) { return item.age < 18 })
// 移除myObservableArray数组内所有年龄属性小于18的对象,并返回这些对象组成的新数组
removeAll
移除myObservableArray数组内所有数据,并返回这些数据组成的一个新数组
myObservableArray.removeAll(['Chad', 132, undefined])
// 移除myObservableArray数组内所有匹配'Chad',123, orundefined 的对象并把它们组成新数组返回