我有一个初始化的Ko模型,它有一个observableArray,然后在稍后的某个日期填充数据。然而,UI似乎不承认这些更改。我最初使用的是不可观测的数组,因为添加或删除项目时不会触发任何内容。小小的帮助。
我初始化数据数组,以便以后使用var Data = [];
$(function ()
{
KoAppViewModel = {
SF: ko.observableArray(Data),
selected: ko.observable("")
};
ko.applyBindings(KoAppViewModel);
})将每个新项添加到数组中。
function searchColumns(columnName, displayValue) {
return {
columnName: columnName,
displayValue: displayValue
};
}本节仅用于在代码后面的某个点填充数组。
function Initialize Fields() {
data = [
new searchColumns("sub", "Subs"),
new searchColumns("ck", "Check"),
new searchColumns("Ntes", "Notes"),
];
ko.utils.arrayPushAll(Data, data);
}这里是Html的存根,它在Array上迭代并填充UL。如果我用数据初始化数组,但在以后的某个日期添加它,则这是可行的,但似乎忽略了它。我已经尝试循环和单独添加他们,但也没有成功。
<ul data-bind="foreach:SF">
<li style="list-style-type:none;">
<input type="radio" data-bind="checkedValue: columnName, checked: $parent.selected" name="SearchFieldstyu" />
<span data-bind="text: displayValue"></span>
</li>
</ul>发布于 2016-07-06 17:56:11
只是忘了在填充基础数组之后将valueWillMutate()和valueHasMutated()添加到基础数组中。
function Initialize Fields() {
data = [
new searchColumns("sub", "Subs"),
new searchColumns("ck", "Check"),
new searchColumns("Ntes", "Notes"),
];
KoAppViewModel.SF.valueWillMutate();
ko.utils.arrayPushAll(Data, data);
}
KoAppViewModel.SF.valueHasMutated();https://stackoverflow.com/questions/38230393
复制相似问题