Dlaczego podczas próby użycia knockout.js do wiązania tekstu za pomocą $ index, otrzymuję kod funkcji zamiast liczby?
<tbody data-bind="foreach: MyList">
<tr>
<td><span data-bind="text: $index + 1"></span></td>
</tr>
</tbody>
Zamiast się 1, 2, 3 itd., Mam to:
Można zobaczyć, do ostatniego znaku w powyższy obrazek, że mój wskaźnik zera jest dodane do 1. Jeśli usunę "+ 1" z mojego powiązania, otrzymam 0, 1, 2 zamiast funkcji.
Jak powiedzieć nokautowi, aby ocenić wyrażenie? Mam ten sam problem, kiedy przesyłam formularz. Moje pola łańcuchowe są przesyłane jako funkcja zamiast wartości.
To naprawiło to. Dlaczego dokumentacja nie ma przykładów z parens? http://knockoutjs.com/documentation/binding-context.html – rboarman
Jest to ogólny problem podczas korzystania z obserwowalnych w wyrażeniach. Jeśli używasz samego obserwowalnego, powiązania zaakceptują to, co obserwowalne, ale gdy zaczniesz uwzględniać obserwowalne w wyrażeniach, musisz użyć formularza(), aby uzyskać dostęp do rzeczywistej wartości. Zobacz http://knockoutjs.com/documentation/observables.html dla "Czytanie i pisanie obserwowalnych". –
Dzięki za pomoc! – rboarman