Vin*_*lly 1 knockout.js bindinghandlers
我正在尝试创建一个自定义绑定,它将封装一系列css绑定.具体而言,而不是:
data-bind="css: { success: PickInventoryViewModel.ajaxSuccess, fail: PickInventoryViewModel.ajaxFailure, working: PickInventoryViewModel.ajaxWorking }"
Run Code Online (Sandbox Code Playgroud)
我要这个:
data-bind="ajaxStatus: PickInventoryViewModel"
Run Code Online (Sandbox Code Playgroud)
的ajaxStatus结合将是一个自定义绑定这将启动相应的CSS绑定,而不是在我的应用程序洒此实现细节.但是,cssbindingHandler没有init函数,所以我不完全确定如何使这个工作.
我想我可以订阅每个observable并ko.bindingHandlers['css'].update在观察到的值时调用true.我考虑的另一个可能的选择是将css绑定注入到html元素并重新绑定节点(我认为这applyBindingsToNode就是这个小提琴中的例子.
有没有人有更好的主意?
谢谢,温妮
从你的自定义绑定init函数做
ko.applyBindingsToNode(element, { css: { /* stuff */ } });
Run Code Online (Sandbox Code Playgroud)