/ / Zobraziť časti v BackboneJS - javascript, view, backbone.js, underscore.js

Zobraziť časti v BackboneJS - javascript, view, backbone.js, underscore.js

Existujú nejaké spôsoby, ako použiť zobrazenie častí v chrbtici? Používam zabudované šablóny podčiarknutia a nie je k tomu veľa dokumentácie.

Ak nie, existujú nejaké normy / konvencie alebo navrhované spôsoby, ako to urobiť?

odpovede:

5 pre odpoveď č. 1

Áno, skúsil som to nedávno. Nezabudnite si prečítať najmä dokumentáciu k chrbtovej kosti v časti Zobraziť.

Napríklad máte _new.jst.haml:

%form#story_form.new_story{method: "post"}

Potom môžete mať _form.jst.haml, ktorý obsahuje prvky formulára. Vo svojom Backbone.View môžete najskôr pridať novú šablónu do svojho el, potom použite selektory Backbone s rozsahom pohľadu (nachádzajú sa v ich oficiálnej dokumentácii v sekcii „$ (jQuery alebo Zepto)“):

$(this.el).html(window.JST["stories/_new"](attrs));
...
this.$("#story_form").html(window.JST["stories/_form"](attrs));

Používal som Rails a tak som si spočiatku prečítal použitie Backbone.js s Rails z tohto článku. Na konci toho je odkaz na časť 2článok. Navrhujem preskočiť časť v prvom článku, kde používa zreťazenie reťazcov na aktualizáciu zobrazení. Aj môj prístup je teraz dosť odlišný od toho, ako to urobil, ale myslím si, že je to celkom dobrý východiskový bod a aj tak nemám svoj vlastný článok, ktorý by sa dal ukázať.

Moje príklady kódu sú trochu krátke, ale myslím, že sem nechcem napísať celý návod. Dajte mi vedieť, čo nefunguje a aký krok podľa vás chýba, a aktualizujem odpoveď.


5 pre odpoveď № 2

Áno, vo svojich šablónach môžete používať čiastočné reklamy a nemusíte ich nastavovať vo svojej triede Zobrazenie, môžete to robiť priamo zo svojich šablón. Tu je jednoduchý príklad:

users.jst:

<ul>
<% _.each(users, function(user){ %>
<li>
<%= JST["user"]({user: user}) %>
</li>
<% }); %>
</ul>

user.jst:

<%= user.get("name") %>

0 pre odpoveď č. 3

Existuje veľa spôsobov „vanilkovej“ chrbtovej kostitoto, ale veľmi odporúčam pozrieť sa do MarionetteJS, Backbone.CollectionView alebo Backbone.LayoutManager. Existuje veľa možností na sledovanie napríklad pri vykresľovaní kolekcií (zrušenie väzby udalostí pri odstránení dieťaťa, rozsah selektora, dodržiavanie poradia triedenia) a tam "Nie je potrebné znovu objavovať koleso."