Knockout.js KO自定义绑定writeValueToProperty失败
我正在尝试为特殊数字格式创建自定义绑定Knockout.js KO自定义绑定writeValueToProperty失败,knockout.js,ko-custom-binding,Knockout.js,Ko Custom Binding,我正在尝试为特殊数字格式创建自定义绑定 ko.bindingHandlers['valueTest'] = { 'init': function (element, valueAccessor, allBindingsAccessor) { var valueUpdateHandler = function () { var modelValue = valueAccessor();
ko.bindingHandlers['valueTest'] = {
'init': function (element, valueAccessor, allBindingsAccessor) {
var valueUpdateHandler = function () {
var modelValue = valueAccessor();
var elementValue = ko.selectExtensions.readValue(element);
ko.expressionRewriting.writeValueToProperty(modelValue, allBindingsAccessor, 'value', elementValue);
}
ko.utils.registerEventHandler(element, "change", valueUpdateHandler);
},
'update': function (element, valueAccessor) {
var newValue = ko.utils.unwrapObservable(valueAccessor());
var elementValue = ko.selectExtensions.readValue(element);
if (newValue !== elementValue) {
ko.selectExtensions.writeValue(element, newValue.toFixed(2).replace(".", ","));
}
}
};
也可以在小提琴上买到
但它在更新时失败(firebug说:TypeError:ko.expressionRewriting.WriteValueTopProperty不是一个函数)。看起来这更适合于可观察的扩展器? 检查一下我做的这把小提琴 它过去像
this.number = ko.observable().extend({ numeric: true })
我知道observable Extender,但我在为单个ko.obbservable或ko.obbservablearray提供复杂JSON时也有这样的情况。所以,请教我如何创建自定义绑定:)请阅读如何创建自定义绑定