我发现了一个不寻常的代码,但我不明白如何调用这个自定义绑定函数以及它应该如何工作。所以这是我的代码:
视图模型:
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' }">
答案 0 :(得分: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());
}