2012-05-25 14 views
7
(function ($) { 
window.AppView = Backbone.View.extend({ 
    el: $("body"), 
    events: { 
    "click #add-friend": "showPrompt", 
    }, 
    showPrompt: function() { 
    var friend_name = prompt("Who is your friend?"); 
    } 
}); 
var appview = new AppView; 
})(jQuery); 
  1. Kann mir jemand erklären, was el hier ist. Ist es ein Element?
  2. Räumt die el Argument Objekt, wenn, so kann ich meine benutzerdefinierte Ansicht Objekt übergeben, wo meine Schaltfläche oder Elemente hinzugefügt werden müssen ...

Antwort

5
  1. Ja, es ist ein DOM-Element.
  2. Nein, Sie können kein benutzerdefiniertes Objekt übergeben. Sie geben entweder ein vorhandenes Element an oder erstellen eines aus den Eigenschaften tagName, className, id und attributes der Ansicht. Wenn Sie nicht ein Element angeben, um es standardmäßig ein div

Es ist alles in der official documentation eigentlich ...

2

Alladnian es beantwortet, aber ich möchte hinzufügen, dass, wenn el verwenden Sie die Verwendung von $el machen Dies ist ein zwischengespeichertes jQuery-Objekt Ihres Ansichtselementes.

So können Sie einfach nur das gewünschte Tag übergeben (Konsistenz, Kürze und Flexibilität) und es dann als $el referenzieren, um es als jQuery-Objekt zu verwenden.

this.$el.addClass("active");