Suntem pregatiti pentru versiunile Angular 2 sau superioare pe ngx-jsonapi.

Biblioteca client JsonApi pentru AngularJS + Typescript.

Demo online

Puteti testa biblioteca pe acest exemplu online ???? http://reyesoft.github.io/ts-angular-jsonapi/

Datele sunt obtinute de la Json Api Playground.

Functii acceptate

  • Cache (in memorie): inainte de o cerere HTTP obiectele sunt setate cu date cache.
  • Cache (pe memorie): TTL pentru colectii si resurse
  • Cache pe depozit local
  • Paginare
  • Filtrarea dupa atribute printr-un sir sau o expresie regulata
  • Definitii TS pentru tastare puternica si completare automata (a se vedea imaginea de exemplu)
  • Includeti asistenta param (de asemenea, atunci cand salvati)
  • Doua + cerere de resursa egala, un singur apel HTTP.
  • Cereri egale, returnati acelasi ResourceObject in memorie
  • Valori implicite pentru o noua resursa
  • Proprietati in colectii precum $ length, $ is_loading sau $ source ( gol | cache | server)

Utilizare

Mai multe informatii despre sectiunea de exemple.

Instalare

In primul rand, trebuie sa cititi, sa cititi si sa cititi specificatiile Jsonapi.

npm instala ts-angular-jsonapi –save

Dependente si personalizare

  1. Adaugati dependenta Jsonapi.
  2. Configurati adresa URL si alti parametri.
  3. Injectati JsonapiCore undeva inainte de a extinde orice clasa din Jsonapi.Resource.
import ‘ts-angular-jsonapi’; var app = angular.module (‘yourAppName’, [‘rsJsonapi’]); app.config ([‘rsJsonapiConfig’, (rsJsonapiConfig) => {angular.extend (rsJsonapiConfig, {url: ‘//jsonapiplayground.reyesoft.com/v2/’});}]); var MyController = functie (JsonapiCore) {// …} MyController. $ inject = [‘JsonapiCore’];

Exemple

Dupa cum stiti, calea mai buna este cu exemple. Pe baza bibliotecii de exemplu a punctelor finale.

Definirea unei resurse

autori.serviciu.ts

clasa AuthorsService extinde Jsonapi.Resource {type = ‘autori’; schema publica: Jsonapi.ISchema = {atribute: {nume: {prezenta: adevarat, lungime: {maxim: 96}}, data_nasterii: {}, data_de_morte: {}, creat_at: {}, actualizat_at: {}}, relatii: {carti: {}, fotografii: {}}}; } angular.module (‘demoApp’). service (‘AuthorsService’, AuthorsService);

Obtineti o colectie de resurse

Controlor

clasa AuthorsController {autori publici: oricare = nul; / ** @ngInject * / constructor (AuthorsService) {this.authors = AuthorsService.all (); }}

Vizualizare pentru acest controler

<p ng-repeat = “author in vm.authors”> id: {{author.id}} <br /> nume: {{author.attributes.

folladas en el metro maduras sensuales
video sexo porno español trios
shemalehd porno español abuelas
videos de chicas gratis abuelas por el culo
madre follada a la fuerza maduras gozando
necrofilia xxx masajes porno en español
jovencitas masturbandose porno españolas peludas
familia española follando española viciosa
zoofila peliculas porno subtituladas en español
pillados follando infraganti creampie española
follando en el convento videos porno corridas internas
super mamadas incesto abuelas
porno guey alexa grace
moras follando porno traducido al español
lisbianas maduras gordibuenas
incesto abuelas megan montaner follando
españolas follando por dinero taboo.com
pajas en coche chica se masturba
maduras a cuatro patas videos chicas gratis
tetas amateur parejitas españolas follando

name}} <br /> data nasterii: {{author.attributes .data_nasterii | data}} </p>

Mai multe optiuni? Filtrarea colectiei

Filtreaza resursele cu atribut: valori. Filtrele sunt utilizate ca „potrivire exacta” (se returneaza numai resursele cu valoarea atributului identica cu valoarea). valoarea poate fi, de asemenea, o matrice, apoi se returneaza numai obiectele cu aceeasi valoare de atribut ca unul dintre elementele matricei de valori.

lasa autori = AuthorsService.all ({localfilter: {name: ‘xx’}, // solicita toate datele si urmatorul filtru local remotefilter: {country: ‘Argentina’} // solicita date cu parametru URL filtru});

Obtineti o singura resursa

Din acest moment, vedeti doar cod important pentru aceasta biblioteca. Pentru un exemplu complet, clonati si consultati directorul demonstrativ.

let author = AuthorsService.get (‘some_author_id’);

Mai multe optiuni? Includeti resurse atunci cand preluati date (sau salvati!)

let author = AuthorsService.get (‘some_author_id’, {include: [‘books’, ‘photos’]}, success => {console.log (‘Author incarcat.’, succes);}, error => {console. log (‘Autorul nu a fost incarcat. Eroare.’, eroare);});

SFAT: acesti parametri functioneaza si cu toate metodele () si save ().

Adaugati o resursa noua

lasa autorul = this.AuthorsService.new (); author.attributes.name = ‘Pablo Reyes’; author.attributes.date_of_birth = ‘2030-12-10’; author.save ();

Aveti nevoie de mai mult control si optiuni?

let author = this.AuthorsService.new (); author.attributes.name = ‘Pablo Reyes’; author.attributes.date_of_birth = ‘2030-12-10’; // some_book este o alta resursa precum autorul let some_book = this.BooksService.get (1); author.addRelationship (some_book); // some_publisher este o resursa polimorfa numita companie in acest caz, let some_publisher = this.PublishersService.get (1); author.addRelationship (some_publisher, „companie”); // uau, acum trebuie sa detasam o relatie author.removeRelationship („carti”, „carte_id”); // aceasta biblioteca poate trimite informatii de includere catre server, pentru atomicity author.save ({include: [‘book’]}); // mmmm, daca am nevoie de resurse conexe? De exemplu, cartile legate de autorul 1 lasa relatedbooks = BooksService.all ({beforepath: ‘autori / 1’}); // trebuie sa obtineti un obiect in cache? puteti forta ttl pe get let author = AuthorsService.get (‘some_author_id’, {ttl: 60} // ttl in secunde (implicit: 0));

Actualizati o resursa

let author = AuthorsService.get (‘some_author_id’); this.author.attributes.name + = ‘Nume nou’; this.author.save (success => {console.log (‘autorul a fost salvat!’);});

Paginare

permiteti autorilor = AuthorsService.all ({// obtineti pagina 2 a colectiei de autori, cu o limita per pagina de 50 de pagini: {numar: 2; limita: 50}});

Pagina colectiei

  • numar: numarul paginii curente
  • limita: limita de resurse pe pagina (este trimisa serverului de catre adresa URL)
  • informatii returnate de pe server (verificati daca sunt disponibile) total_resources: total de resurse disponibile pe server resources_per_page: total de resurse returnate pe pagina solicitata

Aplicatie demonstrativa locala

Puteti rula aplicatia JsonApi Demo local urmand pasii urmatori:

git clone [email protected]: reyesoft / ts-angular-jsonapi.git cd ts-angular-jsonapi npm install -g gulp # daca sunteti pe linux, trebuie sa faceti acest lucru cu sudo npm install gulp serve

Folosim ca backend Json Api Playground.

Colaborati

Mai intai trebuie sa rulati demo-ul. Apoi, cand ati creat functii noi pe furculita, rulati

Si comite! Nu uitati cererea dvs. de tractiune 🙂