У меня есть модель Ko, которая инициализирована, она имеет наблюдаемый массив, а затем более поздняя дата данных заполняется. Однако пользовательский интерфейс, похоже, не подтверждает изменения. Первоначально я использовал не наблюдаемый массив, потому что ничего не происходит, когда элементы добавляются или удаляются. Маленькая помощь.ko.observableArray не UI не UPDating.
Я инициализирую массив данных для использования позже 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);
}
Heres заглушки из Html, который выполняет итерации над массивом и заполняет 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>