2013-05-13 1 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); 

편집 할 일을 갖고 있기 때문에 잘못 : 귀하의 마크 업 바인딩 테스트에서 귀하의 viewModel 회원에게

<input type="text" data-bind="test: myMember /> 
바인딩 사용자 정의 바인딩에 액세스하려면

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