¿Por qué mi función que devuelve la “función” y no un resultado entero?

StackOverflow https://stackoverflow.com/questions/4572446

  •  14-10-2019
  •  | 
  •  

Pregunta

Tengo la siguiente función:

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

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

    return unreadCount;
}, viewModel);

Cuando utilizo esto en KnockoutJS, no puedo hacer un if (viewModel.unreadCount()==0) simple, como esto:

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

Resulta porque cuando corro:

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

me sale "función".

Cualquier idea por qué lo que es y cómo puedo conseguir que vuelva un INT para que pueda hacer una sentencia if?

¿Fue útil?

Solución

Desde ko.dependentObservable() está volviendo una función, como BoltClock señalado, que debe ser capaz de llamar a la función devuelve por con esta sintaxis un tanto extraño aspecto:

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

Esto entonces llevará a cabo la aplicación de funciones en la función que se devuelve, en lugar de sólo el miembro de unreadCount viewModel.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top