Quindi, sto seguendo le guide angular 2 sul loro sito Web tramite typescript e sono bloccato all'integrazione con http api. Sto cercando di creare una semplice applicazione in grado di cercare tramite soundcloud api per una canzone, tuttavia ho difficoltà nell'implementare e capire come andare avanti e le risorse online lo fanno in tanti modi diversi (credo a modifiche della sintassi angolare rapida 2 indietro nel giorno).Uso di http resto apis con angolare 2
Quindi al momento il mio progetto assomiglia a questo
app
components
home
home.component.ts
...
search
search.component.ts
...
app.ts
...
services
soundcloud.ts
bootstrap.ts
index.html
Niente di speciale succedendo nel esempio, i file principali sarebbero
app.ts
import {Component, View} from 'angular2/core';
import {RouteConfig, ROUTER_DIRECTIVES} from 'angular2/router';
import {HomeComponent} from './home/home.component';
import {SearchComponent} from './search/search.component';
@Component({
selector: 'app',
templateUrl: 'app/components/app.html',
directives: [ROUTER_DIRECTIVES]
})
@RouteConfig([
{path: '/home', name: 'Home', component: HomeComponent, useAsDefault: true},
{path: '/search', name: 'Search', component: SearchComponent}
])
export class App { }
bootstrap .ts
import {App} from './components/app';
import {bootstrap} from 'angular2/platform/browser';
import {ROUTER_PROVIDERS} from 'angular2/router';
bootstrap(App, [
ROUTER_PROVIDERS
]);
e stavo cercando di capire soundcloud.ts, tuttavia, non sono in grado di e ci sono errori nella seguente approccio vale a dire @Inject
non viene trovato (presumo che sto usando la sintassi obsoleta qui). In sostanza vorrei utilizzare il servizio soundcloud per le chiamate api all'interno del mio componente di ricerca del modulo dell'app.
import {Injectable} from 'angular2/core'
import {Http} from 'angular2/http'
@Injectable()
export class SoundcloudService {
http : Http
constructor(@Inject(Http) http) {
this.http = http;
}
}
Soundcloud api non incluso qui come non riesco a ottenere basi verso il basso prima.
aggiungi i HTTP_PROVIDERS nel tuo file di avvio e assicurati di aver aggiunto la libreria http.dev.js e di modificare il '@Inject (Http) http' per' http: Http' – Langley
L'errore che stai ricevendo è perché stai importando '@ Injectable' ma non' @ Inject' e si sta utilizzando sia – Langley
@Langley Potresti espandere il tuo commento per favore? http.dev.js deve essere registrato come script in index.html? e non sono sicuro di come ho bisogno di cambiare la seconda parte. – Ilja