Итак, я следую angular 2 руководствам на своем сайте через typescript и застрял в интеграции http api. Я пытаюсь сделать простое приложение, которое может искать через soundcloud api для песни, однако у меня возникают трудности с реализацией и пониманием того, как поступать, а онлайн-ресурсы делают это по-разному (я считаю, что это быстро angular 2 синтаксис изменяется в тот же день).
Итак, в настоящий момент мой проект выглядит следующим образом
app
components
home
home.component.ts
...
search
search.component.ts
...
app.ts
...
services
soundcloud.ts
bootstrap.ts
index.html
Ничего интересного в этом примере, основные файлы были бы
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
]);
И я пытался выяснить soundcloud.ts, но не могу и есть ошибки в следующем подходе, т.е. @Inject
не найден (я предполагаю, что я использую устаревший синтаксис здесь). По сути, я хотел бы использовать службу soundcloud для вызовов api в моем компоненте поиска формы приложения.
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 не включен здесь, так как я не могу сначала обнулить основы.