2013-05-13 256 views
0

我发现了一个不寻常的代码,但我不明白如何调用这个自定义绑定函数,以及该如何工作。因此,这里是我的代码:knockout.js调用自定义绑定函数

视图模型:

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' }"> 

回答

1

你的代码是错误的,因为你必须有你需要一个封闭范围待办事项

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

编辑:在您的视图模型上的成员的标记绑定测试中,如

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

要访问您的自定义绑定绑定

init: function (el, valueAccessor, bindingsAccessor, viewModel) { 
    var value = ko.utils.unwrapObservable(valueAccessor()); 
}