2010-12-31 6 views
1

나는 다음과 같은 기능을 가지고 : 나는 KnockoutJS이를 사용하는 경우왜 함수가 정수 결과가 아닌 "함수"를 반환합니까?

viewModel.unreadCount = ko.dependentObservable(function() { 
    var unreadCount = 0; 

    for (var i = 0; i x< xxxxxxxxxxxx.length; i++) { 
     if (xxxxxx == false) { 
      unreadCount++; 
     } 
    } 

    return unreadCount; 
}, viewModel); 

, 나는 다음과 같이 간단한 if (viewModel.unreadCount()==0)을 수행 할 수 없습니다

<div data-bind="visible: viewModel.unreadCount()==0"> 

그것은 내가 실행할 때 때문에 밝혀 :

<p>${ (typeof viewModel.unreadCount) }</p> 

"기능"이 있습니다.

왜 그런지, 어떻게 if 문을 반환 할 수 있도록 INT를 반환 할 수 있습니까?

<div data-bind="visible: (viewModel.unreadCount)()==0"> 

이 다음에 기능 응용 프로그램을 수행합니다 ko.dependentObservable() 이후

+2

'ko.dependentObservable()'은 전달한 익명 함수의 반환 값이 아니라 함수를 반환합니다. – BoltClock

답변

2

BoltClock가 지적했듯이, 당신이이 다소 이상하게 보이는 구문을 사용하여 반환하는 함수를 호출 할 수 있어야 함수를 반환 반환되는 함수는 이고 viewModel 일뿐입니다.

관련 문제