我有一个小问题,我想找到一个项目的属性,我想更新相同的项目,也应该反映在集合。
我不使用敲除的util库.
Choice = function (id, text, order, selected) {
this.Text = ko.observable(text);
this.ID = ko.observable(id);
this.Order = ko.observable(order);
this.Selected = ko.observable(selected);
},
Question = function (questiontext, id, order) {
this.QuestionName = ko.observable(questiontext);
this.QuestionId = ko.observable(id);
this.QuestionOrder = ko.observable(order);
this.Choices = ko.observableArray([]);
this.UserResponse = ko.observable();
this.Inputs = ko.observable(new Input());
},我想找到问题3,我想更新项目,选择信息,并添加到问题。
在这方面有什么帮助吗。
发布于 2013-12-09 16:16:01
假设questions引用ObservableArray,其中包含视图模型中的Question的列表:
function find(array, predicate) {
array = ko.utils.unwrapObservable(array);
for (var i = 0; i < array.length; i++)
if (predicate(array[i]))
return array[i];
}
var question = find(questions, function (q) { return q.QuestionId == 3; });
var choices = question.Choices;
// Update, add or do anything with `choices`在做完之后你可能想做的事情:
this而不是第一个参数增强它们的原型。findAll变量。编辑: Typo --应该提到我没有运行代码,请不要盲目复制粘贴。
https://stackoverflow.com/questions/20416988
复制相似问题