0

我发现了一个不寻常的代码,但我不明白如何调用这个自定义绑定函数以及它应该如何工作。所以这是我的代码:

视图模型:

ko.bindingHandlers.test = function ($) {
    return {
        init: function (el, valueAccessor, bindingsAccessor, viewModel) {
        },
        update: function (el, valueAccessor, bindingsAccessor, viewModel) {
        }
    }
}

看法:

<input type="text" data-bind="test: ???, value: 0, settings: { test: 'test-value' }">
4

1 回答 1

1

你的代码是错误的,因为你有一个你需要做的闭包范围

ko.bindingHandlers.test = (function ($) {
    return {
        init: function (el, valueAccessor, bindingsAccessor, viewModel) {
        },
        update: function (el, valueAccessor, bindingsAccessor, viewModel) {
        }
    }
})(jQuery);

编辑:在您的标记绑定测试到您的 viewModel 上的成员,例如

<input type="text" data-bind="test: myMember />

从自定义绑定访问绑定

init: function (el, valueAccessor, bindingsAccessor, viewModel) {
   var value = ko.utils.unwrapObservable(valueAccessor());
}
于 2013-05-13T10:29:29.513 回答