Как использовать пользовательские привязки с ko.observableArray ()
Как выбить пользовательское связывание с observableArray? При использовании ko.observable () с пользовательской привязкой все работает как положено. При использовании ko.observableArray () генерируются только начальные события (init и update один раз), но дальнейшие изменения не обнаруживаются (см.скрипка или код ниже).
<span data-bind="text: $data"></span>
ko.bindingHandlers['updateBinding'] = {
init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
alert("Binding Handler (Init)");
},
update: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
alert("Binding Handler (Update)");
}
};
function ViewModel() {
var self = this;
self.ObservableArray = ko.observableArray();
self.Observable = ko.observable();
}
var viewModel = new ViewModel();
// Fires Init + Update for Observable and ObservableArray
ko.applyBindings(viewModel);
// Fires Update for Observable
viewModel.Observable(1);
// Does nothing
viewModel.ObservableArray.push('1');