在 Angular 1.x 中,您可以像这样定义常量:
angular.module('mainApp.config', []) .constant('API_ENDPOINT', 'http://127.0.0.1:6666/api/')
Angular(使用 TypeScript)中的等价物是什么?
我只是不想在我的所有服务中一遍又一遍地重复 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); } }