/ / Čo sú el a $ el z pohľadu chrbtice? - javascript, backbone.js, zepto

Čo sú to el a dolári v pohľade? - javascript, backbone.js, zepto

Pri vykresľovaní pohľadu na chrbticu sa snažím vyhnúť zabaleniu s prázdnym div. Robím to s nasledujúcim kódom

this.$el.replaceWith(this.template(this.model.attributes));
return this;

ale keď pripojím tento pohľad k, dostanem prázdny div

$("#product-pannel").append(productsView.render().el);

niekto dajte takéto riešenie

render: function(){
var html = this.template(this.model.toJSON()));
var newElement = $(html)
this.$el.replaceWith(newElement);
this.setElement(newElement);
return this;
}

ale nerozumiem, prečo by som to mal robiť tak komplikovane vyššie môže mi niekto povedať záhadu el e $el?

odpovede:

2 pre odpoveď č. 1

el ukazuje na prvok zobrazenia (ten, ktorý obsahuje zvyšok šablóny) a $el je reprezentácia objektu jQuery el element Aby ste nemuseli robiť $(this.el) celý čas.

Toto je jasne uvedené v dokumentácii.

Existujúci prvok DOM môžete určiť ako prvok zobrazenia pomocou el možnosť alebo chrbtová kosť vytvorí pre každý pohľad prvok DOM. Predvolene to bude a <div>. Ak nechceš prázdny <div>, prispôsobte prvok, ktorý vytvára chrbtica, ako prvok najvyššej úrovne vašej šablóny zobrazenia pomocou možností ako tagName, attributes atď.

setElement je na dynamickú zmenu prvku zobrazenia na niečo iné ... Ja som zriedka (alebo nikdy) videl, že sa skutočne používa.