正在更新挖空.js可观察数组元素值
Updating Knockout.js Observable array element value
我需要更新一个可观察的数组元素值。可观察数组是类对象的集合。首先,我需要按 id 找出匹配的对象并更新该对象的其他一些属性值。
var Seat = function(no, booked) {
var self = this;
self.No = ko.observable(no);
self.Booked = ko.observable(!!booked);
// Subscribe to the "Booked" property
self.Booked.subscribe(function() {
alert( self.No() );
});
};
var viewModel = {
seats: ko.observableArray( [
new Seat(1, false), new Seat(2, true), new Seat(3, true),
new Seat(4, false), new Seat(5, true), new Seat(6, true),
new Seat(7, false), new Seat(8, true), new Seat(9, true)
] )
};
任何人都可以建议更新视图模型的方法吗?假设我想将 2 号座位的预订价值更新为"false"。
http://jsfiddle.net/2NMJX/3/
淘汰赛非常简单:
// We're looking for the Seat with this No
var targetNo = 2;
// Search for the seat -> arrayFirst iterates over the array and returns the
// first item that is a match (= callback returns "true")!
var seat = ko.utils.arrayFirst(this.seats(), function(currentSeat) {
return currentSeat.No() == targetNo; // <-- is this the desired seat?
});
// Seat found?
if (seat) {
// Update the "Booked" property of this seat!
seat.Booked(true);
}
http://jsfiddle.net/2NMJX/4/
viewModel.seats()[self.No()].Booked(true);
相关文章:
- knockoutjs可观察数组
- 在函数中添加数组元素的数值
- 访问JSON对象内部的数组元素
- Mongoose-在更新中删除数组元素
- javascript数组元素是否知道其封闭数组
- 将数组元素附加到FormData dos'不适用于Firefox 15
- 将js对象更改为使用嵌套的可观察数组敲除js视图模型
- 使用挖空.js如何刷新 Select 元素中的可观察数组
- 敲除可观察数组并没有更新从数组中移除元素的视图
- 根据某些条件将 JS 绑定到可观察对象内的数组元素
- 正在更新挖空.js可观察数组元素值
- Knockout.js:将元素添加到可观察数组
- 敲除:如何编程可观察数组元素之间的相互依赖关系
- 从可观察数组列表中删除元素
- 如何观察数组更改并查看添加了哪个新元素
- 去掉js模板,过滤可观察数组的第一个元素
- 在Knockout可观察数组订阅函数中,可以确定添加或删除了哪些元素吗?
- Knockout使用来自ajax调用的数据更新可观察数组's的每个元素的属性
- Knockout.js |可观察数组只在最后一个元素改变时触发
- 当移除最后一个元素时,可观察数组不会触发