在Angular 2中使用OpaqueToken
我在示例Angular 2应用程序中使用OpaqueToken,下面是相关代码在Angular 2中使用OpaqueToken,angular,Angular,我在示例Angular 2应用程序中使用OpaqueToken,下面是相关代码 //app.module.ts ...... .... export const MY_CONFIG_TOKEN = new OpaqueToken('MY_CONFIG_TOKEN'); providers: [ { provide: MY_CONFIG_TOKEN, useValue: {test:'test'} } ] .... ..... 下面是我的相关
//app.module.ts
......
....
export const MY_CONFIG_TOKEN = new OpaqueToken('MY_CONFIG_TOKEN');
providers: [
{ provide: MY_CONFIG_TOKEN, useValue: {test:'test'} }
]
....
.....
下面是我的相关根组件代码,我在其中使用令牌进行依赖项注入
....
....
constructor(@Inject(MY_CONFIG_TOKEN) private myconfig:any,){}
在浏览器中运行此应用程序会引发以下错误
无法解析AppComponent的所有参数
你知道这个错误的原因吗。
如果需要提供更多信息,请告诉我。修改此选项
export const MY_CONFIG_TOKEN = new OpaqueToken('MY_CONFIG_TOKEN');
到
下面是一个工作图,显示了如何使用OpaqueToken。
以下是如何定义OpaqueToken:
import { OpaqueToken } from '@angular/core';
export let MY_CONFIG_TOKEN = new OpaqueToken('configToken');
然后将其导入主模块:
import { MY_CONFIG_TOKEN } from './token';
然后在提供者下注册它
providers: [{provide: MY_CONFIG_TOKEN, useValue: {test:'test'} }],
最后你可以这样使用它:
constructor(@Inject(MY_CONFIG_TOKEN) private myconfig:any) {
myconfig.value = "Hello";
console.log(myconfig.value);
}
在应用程序组件中,我将一个伪“value”属性附加到令牌,并在构造函数中设置后在控制台中显示它
希望这能有所帮助。尝试从
any
之后编写的构造函数中删除,
。此处myconfig:any,
仍然是相同的错误引用此错误,并按照如下步骤将const
更改为let
这显示编译时类型脚本错误,“环境上下文中不允许使用初始值设定项。”我使用Angular cli,不知道该信息是否有助于您按照这些步骤操作?还是不工作?
constructor(@Inject(MY_CONFIG_TOKEN) private myconfig:any) {
myconfig.value = "Hello";
console.log(myconfig.value);
}