2012-12-01 1 views
7

Sto cercando di imparare il backbone. Capisco che el è l'elemento su cui si sta agendo. Se non è specificato è un div vuoto. Sto creando un modello all'interno della mia vista e restituendo l'oggetto vista. Quindi visualizzerò la vista, ma non capisco perché incateno lo el dopo la funzione di rendering. Qualcuno potrebbe spiegarmi questa riga di codice:Cosa fa il 'el' in view.render(). El?

var view = new PersonView(); 
this.$('#family_list').children().append(view.render().el); 

A cosa serve? Grazie.

risposta

19

Il metodo jQuery .append() si aspetta una stringa di HTML o un elemento DOM da aggiungere al nodo chiamante.

La proprietà .el della vista è l'elemento DOM associato. Dopo aver chiamato view.render(), la proprietà dell'elemento DOM .el viene passata al metodo jQuery .append(), quindi jQuery .append() ottiene il nodo DOM aggiornato (appena sottoposto a rendering).

Ciò è possibile perché la chiamata .render() deve essere restituita thisas suggested in the documentation. Il suo valore di ritorno è quindi l'oggetto vista stesso e da questo è possibile fare immediatamente riferimento allo .el.


Wikipedia: Fluent interfaces

+1

Questa è una grande risposta - Grazie Michael! –