2013-05-13 3 views
0

Я нашел необычный код, но я не понимаю, как вызвать эту функцию привязки и как это должно работать. Так вот мой код:knockout.js вызов функции пользовательской привязки

ViewModel:

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

ваш код является неправильным, так как у вас есть есть закрывающий объем вам нужно Todo

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

редактировать : В вашей разметке привяжите тест к члену на вашем представленииModel как

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

Чтобы получить доступ к связыванию с связыванием пользовательского

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