Angular 1.x では、次のように定数を定義できます。
angular.module('mainApp.config', [])
.constant('API_ENDPOINT', 'http://127.0.0.1:6666/api/')
Angular (TypeScript を使用) で同等のものは何でしょうか?
すべてのサービスで API ベース URL を何度も繰り返したくないだけです。
ベストアンサー1
以下の変更は、Angular 2 最終バージョンで機能します。
export class AppSettings {
public static API_ENDPOINT='http://127.0.0.1:6666/api/';
}
そしてサービスでは:
import {Http} from 'angular2/http';
import {Message} from '../models/message';
import {Injectable} from 'angular2/core';
import {Observable} from 'rxjs/Observable';
import {AppSettings} from '../appSettings';
import 'rxjs/add/operator/map';
@Injectable()
export class MessageService {
constructor(private http: Http) { }
getMessages(): Observable<Message[]> {
return this.http.get(AppSettings.API_ENDPOINT+'/messages')
.map(response => response.json())
.map((messages: Object[]) => {
return messages.map(message => this.parseData(message));
});
}
private parseData(data): Message {
return new Message(data);
}
}