我正在尝试创建一个自定义绑定,它将封装一系列 css 绑定。具体来说,而不是:
data-bind="css: { success: PickInventoryViewModel.ajaxSuccess, fail: PickInventoryViewModel.ajaxFailure, working: PickInventoryViewModel.ajaxWorking }"
我要这个:
data-bind="ajaxStatus: PickInventoryViewModel"
绑定将ajaxStatus
是一个自定义绑定,它将启动适当的 css 绑定,而不是让这个实现细节散布在我的应用程序中。但是,css
bindingHandler 没有 init 函数,所以我不完全确定如何进行这项工作。
我想我可以订阅每个 observables 并ko.bindingHandlers['css'].update
在观察到的值为true
. 我考虑过的另一个可能的选择是将 css 绑定注入到 html 元素并重新绑定节点(我认为这就是这个 fiddleapplyBindingsToNode
中示例的本质。
有没有人有更好的主意?
谢谢,文尼