JSFiddle - React, Tailwind, and code Playground
HTML
<span data-bind="isolatedText:hoge, css:{red: piyo}">
</span>
JavaScript
function isolateBindingHandler(original) {
return {
init: function (element, valueAccessor) {
var args = arguments;
ko.computed({
read: function () {
ko.utils.unwrapObservable(valueAccessor());
original.update.apply(this, args);
},
owner: this,
disposeWhenNodeIsRemoved: element
});
}
};
}
ko.bindingHandlers.mytext = {
update: function () {
console.log('update');
ko.bindingHandlers.text.update.apply(this, arguments);
}
};
ko.bindingHandlers.isolatedText = isolateBindingHandler(ko.bindingHandlers.mytext);
var vm = {
hoge: ko.observable('hoge'),
piyo: ko.observable(true)
};
ko.applyBindings(vm);
vm.piyo(false);