【发布时间】:2016-04-29 06:50:02
【问题描述】:
我正在制作一个绑定,以简化根据布尔值添加 CSS 类的过程。我想使用applyBindingAccessorsToNode,因为它看起来比在新绑定中调用原生css 绑定的.init 和.update 更干净。
我的问题是如何使用valueAccessor,因为绑定似乎被错误地解析,具体取决于提供的值是可观察的、对象还是评估的可观察的。
绑定是这样的:
ko.bindingHandlers.ignoreValidation = {
init(element, valueAccessor, allBindings, viewModel, bindingContext) {
ko.applyBindingAccessorsToNode(element, { css: { ignoreValidation: valueAccessor() } }, bindingContext);
}
}
这会导致错误([object Object] 显然是无意的)
Message: Unable to process binding "ignoreValidation: function (){return showLookup }"
Message: Unable to process binding "css: [object Object]"
Message: d is not a function
TL;DR;我想在不同时使用update 和init 的情况下以编程方式向元素添加绑定。
【问题讨论】: