2012-06-03 2 views
2

Ryan Niemeyer의 블로그를 기반으로 다음 사용자 정의 바인딩이 있습니다.하지만 작동하지 않았습니다. 그를 퇴색시키는 대신 div는 전혀 표시되지 않습니다. "init"함수를 추가하려고 시도했지만 문제가 해결되지 않았기 때문에 Ryan과 같은 간단한 업데이트 함수로 되돌아갔습니다."IF"바인딩을 확장하는 녹아웃 커스텀 바인딩

<div data-bind="fadeInIf: show">...</div> 

블로그 게시물 : 나는 다음과 같은 않는 HTML에서

ko.bindingHandlers.fadeInIf = { 
    update: function(element, valueAccessor) { 
     ko.bindingHandlers.if.update(element, valueAccessor); 
     $(element).fadeIn(); 
    } 
}; 

http://www.knockmeout.net/2011/07/another-look-at-custom-bindings-for.html

답변

0

if 실제로 DOM 요소를 만드는 데 사용되는 당신의 fadeInIf에에 프록시하는 바인딩, this documentation 참조 자세한 내용은

단순한 필요가있는 경우 페이드 인을 달성하십시오.

http://jsfiddle.net/madcapnmckay/3rRUQ/2/

당신이 원하는 것은 fadeVisible 나는 또한 바이올린에서 그 예를 포함 한 바인딩 이상이면

ko.bindingHandlers.fadeInIf = { 
    update: function(element, valueAccessor) { 
     var value = ko.utils.unwrapObservable(valueAccessor()); 
     if (value) { 
      $(element).fadeIn(); 
     } 
    } 
}; 

.

희망이 도움이됩니다.