Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Knockout.js KO自定义绑定writeValueToProperty失败_Knockout.js_Ko Custom Binding - Fatal编程技术网

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时也有这样的情况。所以,请教我如何创建自定义绑定:)请阅读如何创建自定义绑定