Ho cercato un knockout per il dynamic data-bind e ho una situazione in cui ho bisogno di un array osservabile per contenere più oggetti osservabili.Gli oggetti osservabili all'interno di observableArray non si aggiornano automaticamente
Questo è il mio codice:
<ul data-bind="foreach: { data: categories, as: 'category' }">
<li>
<ul data-bind="foreach: { data: items, as: 'item' }">
<li>
<span data-bind="text: category.name"></span>:
<span data-bind="text: item"></span>
<input type="text" data-bind="value: item"/>
</li>
</ul>
</li>
</ul>
$(document).ready(function() {
ko.applyBindings(viewModel);
});
var viewModel = {
categories: ko.observableArray([
{ name: 'Fruit', items: [ko.observable('Apple'), ko.observable('Orange'), ko.observable('Banana')] },
{ name: 'Vegetables', items: [ko.observable('Celery'), ko.observable('Corn'), ko.observable('Spinach')] }
])
};
Quando si lavora con osservabili ogetto di solito ho potuto modificare un valore di una casella di testo di input e che il valore è impostato a tutta pagina in cui che la proprietà è stata usata da visualizzare.
Nell'esempio corrente ho provato a fare lo stesso con la mia casella di input, ma dopo aver modificato i valori nella casella di testo, l'intervallo non ha raggiunto il valore corrente.
Come posso rendere gli oggetti osservabili all'interno del campo osservabile come si comporterebbero se fossero oggetti osservabili autonomi?