Ho due domande si prega di:Assegnazione di valori alle knockout osservabile determinato dinamicamente in base al nome della stringa
sto usando eliminazione diretta (io sono un noob SRY KO) e vorrei assegnare un valore a una specifica knockout osservabile su un evento click ma che dovrebbe essere determinato solo sull'evento click stesso (e il valore che passerò al data-bind = click) ... può essere fatto per favore ... posso ottenere la variabile osservabile a eliminazione diretta appena sopra il suo nome (un valore stringa) invece di dover sapere quale osservabile assegnerò un valore in anticipo?
E, in secondo luogo meno importante, se esiste una tale funzione ko.ObservableByName (stringName) esiste è possibile utilizzarlo in qualche modo e assegnare la preselezione di più elementi selezionati al caricamento della pagina..e come si prega?
Ho provato a fare questo ... Ho usato data-bind = "Click: loadData.bind ($ data, 'param1', 'param2')" e poi ho 'm in grado di ottenere quei param1 e param2 valori di stringa con la costruzione di un gestore di eventi nella mia eliminazione diretta ViewModel che va qualcosa lungo la linea del:
self.loadData = function (src, dest) {
//dest is 'param1', src is 'param2', both are stings
if (src == 'param1')
self.p1observable($('#' + dest).val());
else
self.p2observable($('#' + dest).val());
}
il mio problema più grande con questo è che ho a costruire la funzione con osservabili p1/p2 già specificati e hard-coded in esso, ma in realtà mi piacerebbe ottenere param1 e param2 da utilizzare come nomi o riferimenti per nome di alcuni dei miei osservabili, che potrei quindi passare a piacere (accanto a un valore da assegnare, o meglio ancora un altro osservabile vorrei copiare il valore dal primo), e quindi potrei assegnare i valori passati nella funzione click direttamente a un osservabile di mia scelta (e non avere un gran numero di funzioni così piccole) ...
Forse ci sto andando nel modo sbagliato? Forse non dovrei passare per niente valori di stringa ... Forse dovrei provare a passare in un oggetto osservabile, ma come si può farlo all'interno di data-bind, scrivi semplicemente myViewModel.myObservable o qualcosa del genere?
Puoi pubblicare un esempio di ciò che hai ottenuto finora? – ericb