Knockout JS:在foreach中设置值
Knockout JS: setting value in foreach
我正在尝试通过单击 removePollOption
函数在 foreach 中重新分配一个对象值
<div data-bind="foreach: pollOptions">
<input data-bind="value: title">
<div data-bind="text: destroy">
<a href='#' data-bind='click: $root.removePollOption'></a>
</div>
pollOptions
数组:
this.pollOptions = ko.observableArray(ko.utils.arrayMap(optionsInitialData, function(pollOption) {
return { id: pollOption.id, title: pollOption.title, destroy: pollOption.destroy };
}));
但是当我尝试在函数中执行此操作时,值并没有动态变化
this.removePollOption = function() {
this.destroy = true;
};
如果我尝试 this.destroy(true);
我得到一个错误 Uncaught TypeError: boolean is not a function
我明白我应该声明 destroy
像
一样可观察
this.pollOptions = ko.observableArray(ko.utils.arrayMap(optionsInitialData, function(pollOption) {
return { id: pollOption.id, title: pollOption.title, destroy: ko.observable(false) };
}));
我正在尝试通过单击 removePollOption
函数在 foreach 中重新分配一个对象值
<div data-bind="foreach: pollOptions">
<input data-bind="value: title">
<div data-bind="text: destroy">
<a href='#' data-bind='click: $root.removePollOption'></a>
</div>
pollOptions
数组:
this.pollOptions = ko.observableArray(ko.utils.arrayMap(optionsInitialData, function(pollOption) {
return { id: pollOption.id, title: pollOption.title, destroy: pollOption.destroy };
}));
但是当我尝试在函数中执行此操作时,值并没有动态变化
this.removePollOption = function() {
this.destroy = true;
};
如果我尝试 this.destroy(true);
我得到一个错误 Uncaught TypeError: boolean is not a function
我明白我应该声明 destroy
像
this.pollOptions = ko.observableArray(ko.utils.arrayMap(optionsInitialData, function(pollOption) {
return { id: pollOption.id, title: pollOption.title, destroy: ko.observable(false) };
}));