整数の結果ではなく、「関数」を返すのはなぜですか?
-
14-10-2019 - |
質問
次の機能があります。
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
.
所属していません StackOverflow