Angular 2 Cung cấp một tính năng rất hay được gọi là Hằng số mờ. Tạo một lớp & Xác định tất cả các hằng số ở đó bằng cách sử dụng các hằng số mờ.
import { OpaqueToken } from "@angular/core";
export let APP_CONFIG = new OpaqueToken("my.config");
export interface MyAppConfig {
apiEndpoint: string;
}
export const AppConfig: MyAppConfig = {
apiEndpoint: "http://localhost:8080/api/"
};
Tiêm nó trong các nhà cung cấp trong app.module.ts
Bạn sẽ có thể sử dụng nó trên tất cả các thành phần.
EDIT cho góc 4:
Đối với Angular 4, khái niệm mới là Token Token & Mã thông báo mờ không được dùng trong Angular 4.
Mã thông báo tiêm Thêm các chức năng trên đầu trang của Mã thông báo mờ, nó cho phép đính kèm thông tin loại trên mã thông qua các tổng quát của TypeScript, cộng với mã thông báo Tiêm, loại bỏ nhu cầu thêm @Inject
Mã ví dụ
Angular 2 Sử dụng Token Opaque
const API_URL = new OpaqueToken('apiUrl'); //no Type Check
providers: [
{
provide: DataService,
useFactory: (http, apiUrl) => {
// create data service
},
deps: [
Http,
new Inject(API_URL) //notice the new Inject
]
}
]
Angular 4 Sử dụng Token tiêm
const API_URL = new InjectionToken<string>('apiUrl'); // generic defines return value of injector
providers: [
{
provide: DataService,
useFactory: (http, apiUrl) => {
// create data service
},
deps: [
Http,
API_URL // no `new Inject()` needed!
]
}
]
Mã thông báo tiêm được thiết kế hợp lý trên đầu trang của mã thông báo Opaque & mã thông báo mờ được không dùng trong Angular 4.
export
từ khóa trướcclass
cũng nhưpublic static
trướcreadonly
từ khóa. Xem tại đây: stackoverflow.com/a/22993349