質問

次の機能があります。

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

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

    return unreadCount;
}, viewModel);

knockoutjsでこれを使用するとき、私は単純なことをすることができません if (viewModel.unreadCount()==0), 、 このような:

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

私が走るとき:

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

「関数」を取得します。

なぜそれがなぜそうであり、どのようにしてINTを返すようにすることができるように、IFステートメントを実行できるようにする方法はありますか?

役に立ちましたか?

解決

以来 ko.dependentObservable() ASの関数を返しています ボルトクロック 指摘されていると、このやや奇妙に見える構文を使用して、返す関数を呼び出すことができるはずです。

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

これにより、単なるものではなく、返される関数で関数アプリケーションが実行されます unreadCount のメンバー viewModel.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top