在Angular1.x中,你可以这样定义常量:
angular.module('mainApp.config',[]) .constant('API_ENDPOINT','http://127.0.0.1:6666/api/')
在Angular2(带打字稿)中是什么等价的?
我只是不想重复的API基本url一遍又一遍在我所有的服务。
下面的更改为我在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); } }