Esiste un modo per limitare l'ambito di un'applicazione knockout.js? [chiuso]

0

Ho un progetto legacy che sono stato approvato per funzionare in un modulo knockout.js . Questo è grandioso, tuttavia l'applicazione è estremamente complessa e ho bisogno di utilizzare alcune delle convalide di moduli predefinite della nostra applicazione.

I miei validatori di moduli funzionano bene fino a quando un modello dinamico non viene sostituito. Non posso per la vita di me capire l'errore. Niente nella console e i miei vasti sforzi di debug sono stati infruttuosi.

Sto pensando che la mia soluzione potrebbe essere qualcosa in linea con la limitazione dell'ambito dell'applicazione knockout simile a come si può dichiarare ng-app in angular.js .

Non riesco a trovare un esempio funzionante su come eseguire questa o qualsiasi documentazione relativa a knockout.js

    
posta bluetoft 20.09.2013 - 05:34
fonte

1 risposta

3

L'ambito a cui gli elementi ad eliminazione diretta si collegano è determinato dal modo in cui si chiama ko.applyBindings . Richiede due parametri, un oggetto da utilizzare come modello di visualizzazione radice e un elemento per "applicare" i collegamenti. L'ultimo parametro è facoltativo e di solito tutorial e documentazione lo escludono in questo modo:

ko.applyBindings(viewModel);

Per impostazione predefinita, senza il secondo parametro, knockout applicherà i binding sull'intero documento. Se si desidera limitare i collegamenti da un elemento HTML specifico, è possibile specificarlo come secondo parametro da utilizzare come genitore anziché come documento. Praticamente in questo modo:

var parent = document.getElementById('someElementId');
// or if you are using jquery, use $('#someElementId')[0]

ko.applyBindings(viewModel, parent);

Viene brevemente descritto in questa sezione dei documenti eliminabili.

    
risposta data 20.09.2013 - 08:52
fonte

Leggi altre domande sui tag