2010-12-31 12 views
1

私は、以下の機能を持っている:なぜ私の関数は整数の結果ではなく "関数"を返しますか?

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

私が実行したときので、それは結局のところ:

私はKnockoutJSでこれを使用すると、私はこのように、簡単な if (viewModel.unreadCount()==0)

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

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

    return unreadCount; 
}, viewModel); 

行うことはできません

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

「機能」を取得します。

なぜそれがどのように私はINTを返すためにそれを得ることができるので、私はifステートメントを行うことができますか?

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

これは、その後の機能アプリケーションを実行します:ko.dependentObservable()以来

+2

'ko.dependentObservable()'は、渡した匿名関数の戻り値ではなく関数を返します。 – BoltClock

答えて

2

BoltClockが指摘したように、あなたはそれがこのやや奇妙な構文を使用して返す関数を呼び出すことができる必要があり、機能を返します返される関数は、unreadCountのメンバーではなく、viewModelです。

関連する問題