2014-03-26 2 views
3

나는 먼저 if binding과 같이 수행 할 custom binding을 작성했으며 다음에 visible binding으로 작업합니다. ko.bindingHandlers.if.update 함수가 KnockoutJS 3.1에서 제거 되었습니까?

ko.bindingHandlers.visibleIf = { 
    init: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) 
    { 
     // Doing stuff here 
     // ... 

     return ko.bindingHandlers.if.init.apply(this, arguments); 
    }, 
    update: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) 
    { 
     // Doing stuff here 
     // ... 

     ko.bindingHandlers.if.update.apply(this, arguments); 
    } 
}; 

나는 if.initif.update 모두를 포장하는 데 사용 그리고 내가 그냥 KO 3.1에 제거 발견, KO 3.0에 잘 작동합니다.

if.update의 기능을 KO 3.1에 감쌀 수 있습니까? 또는 이것을 달성하는 데 도움이 될 수있는 다른 제안이 있습니까?

감사합니다. 고마워요.

+2

'ko.bindingHandlers.if.update.apply (this, arguments);'행을 삭제하면 바인딩이 KO 3.1에서 제대로 작동합니다. – nemesv

+0

예, 코드를 제거한 후에 제대로 작동하지만'if binding'과 같은 역할을합니다. –

답변

0

IF 바인딩이 실행되기 전에 및/또는 이미 자식을 렌더링했는지 여부를 알려주는 래퍼 함수에 속성을 추가 할 수 있습니다. 그런 다음 이전 업데이트 콜백과 동일한 작업을 수행 할 수 있습니다.