¿Por qué mi función que devuelve la “función” y no un resultado entero?
-
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?
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