Я пытаюсь связать наблюдаемый массив нокаутом с моим пользовательским интерфейсом, используя флажок foreach и checkbox, а затем создайте массив на основе проверенного.KnockoutJS observableArray с шаблоном и foreach
Я получаю эту ошибку: Uncaught ReferenceError: невозможно обработать привязку "template: function() ...".
Вот мой HTML:
<dl data-bind="template: { name: 'QuarterTemplate', foreach: Quarter, templateOptions: { selections: SelectedQuarters } }"></dl>
<script id="QuarterTemplate" type="text/html">
<dd>
<label>
<input type="checkbox" data-bind="attr: { value: quarter }, checked: $item.selections" />
<a data-bind="text: quarter" ></a>
</label>
</dd>
</script>
Вот мой Нокаут ViewModel:
function ViewModel() {
this.Quarter = ko.observableArray([
{ quarter: "Q1" },
{ quarter: "Q2" },
{ quarter: "Q3" },
{ quarter: "Q4" }
]);
this.SelectedQuarters = ko.observableArray();
this.SelectedQuarters.subscribe(function() {
console.log(this.SelectedQuarters());
});
}
$(document).ready(function() {
ko.applyBindings(new ViewModel());
});
Я также скрипку установить:
В конце концов, что я хочу чтобы увидеть в консоли что-то вроде этого:
Q1
Q1, Q3
Q1, Q3, Q2
Q1, Q3, Q2, Q4
Q1, Q2, Q4