如何从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>
答案 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'
字符串