如何在 ko.observableArray() 中使用自定义绑定 [英] How to use custom binding with ko.observableArray()
本文介绍了如何在 ko.observableArray() 中使用自定义绑定的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
敲除自定义绑定如何与 observableArray 一起工作?将 ko.observable() 与自定义绑定一起使用时,一切都按预期工作.使用 ko.observableArray() 时,只抛出初始事件(初始化和更新一次),但不会检测到进一步的更改(参见 Fiddle 或下面的代码).
<头><script type="text/javascript" src="knockout-2.2.1.js">头部><身体><div data-bind="text: Observable, updateBinding: Observable"></div><div data-bind="foreach: ObservableArray, updateBinding: ObservableArray"><span data-bind="text: $data"></span>
<script type="text/javascript">ko.bindingHandlers['updateBinding'] = {初始化:函数(元素,valueAccessor,allBindingsAccessor,viewModel,bindingContext){alert("绑定处理程序(初始化)");},更新:函数(元素,valueAccessor,allBindingsAccessor,viewModel,bindingContext){alert("绑定处理程序(更新)");}};函数视图模型(){var self = this;self.ObservableArray = ko.observableArray();self.Observable = ko.observable();}var viewModel = new ViewModel();//为 Observable 和 ObservableArray 触发初始化 + 更新ko.applyBindings(viewModel);//为 Observable 触发更新viewModel.Observable(1);//什么也没做viewModel.ObservableArray.push('1');