Backbone.Rel extinde modelele dvs. Backbone cu un manager de relatii usoare.

Cum functioneaza? API

Rel

Backbone.Rel expune o metoda rel care este o relatie getter .

are multe

Puteti implementa o metoda hasMany intr-un model pentru a defini o relatie. Metoda trebuie sa returneze un obiect cu numele relatiei ca cheie si optiunile ca valoare.

Optiuni:

  • colectie: trebuie sa specificati colectia.
  • filter: O functie care va fi utilizata pentru a filtra colectia.
  • id: ID-ul strain care indica modelul dvs.

apartine lui

Puteti implementa o metoda de apartenenta la un model sau o colectie pentru a defini o relatie. Metoda trebuie sa returneze un obiect cu numele relatiei ca cheie si colectia ca valoare.

Daca doriti sa definiti o relatie de apartenenta la o colectie, trebuie sa stocati cheia pe obiectul de colectie in initializare.

Accesand relatii imbricate, rel-getterul „monadic”.

Puteti transmite oricate argumente doriti relgerului pentru a obtine relatii imbricate. Orice esec pe lantul getter va fi propagat in mod corespunzator, evitand TypeError: Nu se poate apela metoda „foo” de nul.

Accesarea atributelor din relatiile cu relGet

Majoritatea erorilor la lucrul cu date relationale sunt atunci cand o relatie nu este indeplinita si incercam sa accesam un atribut al acelui model inexistent. De exemplu, avem o sarcina care apartine unui proiect si dorim sa obtinem numele proiectului respectiv.

task.relGet (‘proiect’, ‘nume’, ‘Proiect necunoscut’); // Va afisa numele proiectului sau „Unkown project” user.relGet („project.tasks”, „name”, []); // Va returna toate sarcinile sau []

Invocarea metodelor in interiorul relatiilor

Uneori vrem sa invocam o metoda sau sa accesam un atribut printr-o relatie. relResult este un wrapper de _.result pe o relatie.

task.relResult (‘proiect’, ‘fullName’, ‘Proiect necunoscut’); // Va apela project.fullName daca relatia a reusit

Exemplu

// models / project.

jovencitas pilladas masturbandose pelisxxx
me gusta follar maduras corriendose
trios gays tv porno
super tetudas vidios xxx
sexo romantico coñitos
españolas follando en la playa pilladas desnudas
nonude model videoxxx
porno violacion gay videos travestis
follando en casa penes grandes
se folla a su hijo scat porno
porno guarras españolas porno trans
videos pornos caseros reales gitana follando
follando sin querer madres incestuosas
videos x incesto peliculas eroticas gratis
guarras.com abuelas follando
viejas calientes pajas caseras
maduras corriendose naomi woods
incesto real madre hijo porno casero españa
peliculas porno traducidas al castellano madre pajea a su hijo
videos de investo maduras.com

js Models.Project.hasMany = function () {return {users: {collection: Collections.users, id: ‘project_id’}, task-uri: {collection: Collection.tasks, filter: function (task) {return task.rel („proiect”)? task.rel („proiect”). id === this.id: nul; }}}; }; // models / user.js Models.User.hasMany = function () {return {task-uri: {collection: Collections.tasks, id: ‘user_id’}}; }; Models.User.belongsTo = function () {return {project: Collection.projects}; }; // models / task.js Models.Task.belongsTo = function () {return {user: Collections.users, project: function (task) {return task.rel (‘user.project’); }}; }; var project = new Project ({id: 1}), user = new User ({id: 1, project_id: 1}), task1 = new Task ({id: 1, user_id: 1}), task2 = new Task ( {id: 2, user_id: 1}); assert.equal (utilizator. rel („sarcini”). lungime, 2); assert.equal (user.rel („proiect”), proiect); assert.equal (task1.rel (‘utilizator’), utilizator); assert.equal (task1.rel (‘proiect’), proiect);

Dependente

Backbone.Rel depinde de underscore.inflection.

Teste

Trebuie sa aveti nodul instalat pentru a rula testele.

Licenta

(Licenta MIT)

Copyright (c) 2012 Pau Ramon [email protected]

Prin prezenta se acorda, gratuit, oricarei persoane care obtine o copie a acestui software si a fisierelor de documentare asociate („Software-ul”), pentru a tranzactiona in Software fara restrictii, inclusiv fara limitare, drepturile de utilizare, copiere, modificare, fuzionare , publica, distribuie, sublicentiaza si / sau vinde copii ale software-ului si permite persoanelor carora li se furnizeaza software-ul sa faca acest lucru, sub rezerva urmatoarelor conditii:

Notificarea privind drepturile de autor de mai sus si aceasta notificare privind permisiunea vor fi incluse in toate copiile sau partile substantiale ale software-ului.

SOFTWARE-UL ESTE FURNIZAT „CA ATARE”, FARA GARANTIE DE NICIUN TIP, EXPRESA SAU IMPLICITA, INCLUSIV DAR NU LIMITAT LA GARANTIILE DE COMERCIALIZARE, ADEVARUL PENTRU UN SCOP PARTICULAR SI NEINFRACTIUNE. In niciun caz, AUTORII SAU DETINATORII DE DREPTURI DE AUTOR NU SUNT RESPONSABILI PENTRU ORICE REVENDICARE, DAUNE SAU ALTE RESPONSABILITATI, FIE INTR-O ACTIUNE A CONTRACTULUI, TORT SAU ALTUI, REZULTATE DIN, IN LEGATURA CU SAU IN LEGATURA CU SOFTWARE-UL SAU DE UTILIZARE SAU ALTE DISCIPLUTII IN SOFTWARE.