我们可以在Angular应用的浏览器版本中使用Rendered2
,但它需要document.body
引用,并且在服务器呈现时不可用。
platform-browser
包含Title
和Meta
个组件,但我希望能够更好地控制<head>
部分,例如注入<script>
标记,访问{{1}元素等
有办法吗?
答案 0 :(得分:7)
实际上,Angular Universal使用了DOMINO库,它以与浏览器相同的方式创建document
。唯一的区别是你必须像这样注入DOCUMENT
:
import { DOCUMENT } from '@angular/common';
import { Component, Inject, Renderer2 } from '@angular/core';
@Component({ ... })
export class AppComponent {
constructor(@Inject(DOCUMENT) document, r: Renderer2) {
r.addClass(document.body, 'myclass');
}
}