2016-01-17 20 views
7

Ecco la documentazione su AngularJS JavaScript SDKÈ possibile generare servizi per Angular2 da Loopback?

Questo esempio funziona perfettamente per Angular. È possibile generare la libreria client angolare con il comando

$ lb-ng ../server/server.js js/lb-services.js 

Esiste lo stesso modo semplice di usare Angular2 con Loopback?

EDIT

Quello che ho trovato su questo tema attualmente.

  1. Issue in repository Github loopback-sdk-angolare con discussione.
  2. Esempio di realizzazione: BaseResource e Model mastured su BaseResource.
  3. E un altro modo: utilizzare upgrade da Angolare a Angolare2 fino all'implementazione ufficiale di Loopback Angular 2 SDK.
  4. Ho eseguito la versione alpha del generatore di codice per Angular 2 in fork of loopback-sdk-angular.

EDIT

  1. Loopback-sdk-builder (comment)

risposta

13

In questo momento è possibile utilizzare forcella di loopback-sdk-angolari e loopback-sdk pacchetti -angular-cli.

package.json:

"devDependencies": { 
    //... 
    "loopback-sdk-angular": "github:qeti/loopback-sdk-angular#188-angular2-support", 
    "loopback-sdk-angular-cli": "github:qeti/loopback-sdk-angular-cli#37-angular2-support" 
} 

Generare codice client (dattiloscritto):

./node_modules/.bin/lb-ng ./server/server.js ./client/src/app/lb-services.ts -l angular2 

Esempio di utilizzo:

import {Component,Injectable} from 'angular2/core'; 
import {UserApi as UserService} from './lb-services'; 
import {HTTP_PROVIDERS} from 'angular2/http'; 

@Component({ 
    selector: 'my-app', 
    providers: [UserService,HTTP_PROVIDERS], 
    template: 'some template' 
}) 

@Injectable() 
export class AppComponent { 

    private login: string; 
    private password: string; 

    constructor(protected user: UserService) {} 

    onLogin() { 
    let self = this; 
    // Example 1 
    this.user.login({ 
     username: self.login, 
     password: self.password 
    }) 
    .subscribe(res => { 
     // some actions on login 
     this.getData(); 
    }); 
    } 

    onLogout() { 
    // Example 2 
    this.user.logout().subscribe(() => { 
     // some actions on logout 
    }); 
    } 

    public getData() { 
    // Example 3 
    this.user.count().subscribe((response: any) => { 
     let lastRow = response.count; 

     let data = this.user 
     // Example 4 
     .find({ 
      offset: 0, 
      limit: 100 
     }) 
     .subscribe(function(response: any) { 
      // Process response 
     }); 
    }); 
    } 
} 
+0

Sto ottenendo il seguente eccezione 'ECCEZIONE: Nessun provider per Http! (App -> UserApi -> Http) 'pensieri? – essaji

+0

@essaji, mostra il tuo codice per favore. Come fornisci Http nel tuo componente? Ci sono 'provider: [Http]' ?. È possibile creare un problema (https://github.com/Qeti/loopback-sdk-angular/issues) con un esempio di codice. – mnv

+0

Utilizzando 'provider: [UserService, Http],' produce 'ECCEZIONE: nessun provider per ConnectionBackend! (AppComponent -> UserApi -> Http -> ConnectionBackend) 'e utilizza' provider: [UserService, Http, ConnectionBackend], 'produce' ECCEZIONE: Nessun provider per RequestOptions! (AppComponent -> UserApi -> Http -> RequestOptions) ' – essaji