如何在Angular2中获取元值

时间:2016-10-06 23:49:41

标签: angular angular-cli

如何从Angular2中的HTML头获取元值?

例如,我有我的项目的HMTL,我想得到元名称" userId"。

 <!doctype html>
<html>

<head>
    <meta charset="utf-8">
    <title>SampleProject</title>
    <base href="/">
    <meta name="userId" value="12345">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="icon" type="image/x-icon" href="favicon.ico">
</head>

<body>
    <app-root>Loading...</app-root>
</body>

</html>

1 个答案:

答案 0 :(得分:1)

document.querySelector('meta["userId"]').getAttribute('value')

Angular2没有特别的支持。

如果您尝试避免直接访问DOM,可以在启动Angular2之前阅读此内容并使用DI将其传递给Angular。

var userId =     document.querySelector('meta["userId"]').getAttribute('value');

// @Injectable(),  @Component(), or @Directive()
class ServiceOrComponent {
  constructor(@Inject('userId') private userId:string) {}
}

@NgModule({
  providers: [{provide: 'userId', useValue: userId]}
  ....
})
export class AppModule() 

您也可以使用OpaqueToken

代替'userId'字符串