Question

J'ai la fonction suivante:

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

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

    return unreadCount;
}, viewModel);

Quand j'utiliser dans KnockoutJS, je ne peux pas faire un if (viewModel.unreadCount()==0) simple, comme ceci:

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

Il se parce que quand je lance:

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

get "fonction".

Toutes les idées pourquoi et comment je peux l'obtenir pour retourner un INT pour que je puisse faire une instruction if?

Était-ce utile?

La solution

Depuis ko.dependentObservable() retourne une fonction, comme BoltClock indiqué, vous devriez être en mesure d'appeler la fonction retourne par en utilisant cette syntaxe un peu bizarre:

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

exécutera alors l'application de la fonction sur la fonction qui est renvoyée, plutôt que l'élément unreadCount de viewModel.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top