【发布时间】:2013-09-19 17:20:55
【问题描述】:
我正在尝试创建一个自定义绑定,它将封装一系列 css 绑定。具体来说,而不是:
data-bind="css: { success: PickInventoryViewModel.ajaxSuccess, fail: PickInventoryViewModel.ajaxFailure, working: PickInventoryViewModel.ajaxWorking }"
我想要这个:
data-bind="ajaxStatus: PickInventoryViewModel"
ajaxStatus 绑定将是一个自定义绑定,它将启动适当的 css 绑定,而不是让这个实现细节散布在我的应用程序中。但是,css bindingHandler 没有 init 函数,所以我不完全确定如何进行这项工作。
我想我可以订阅每个 observables 并在观察值为 true 时调用 ko.bindingHandlers['css'].update。我考虑过的另一个可能的选择是将 css 绑定注入到 html 元素并重新绑定节点(我认为这是 applyBindingsToNode 的精髓,例如 in this fiddle。
有人有更好的主意吗?
谢谢, 文尼
【问题讨论】:
标签: knockout.js bindinghandlers