如何在Angular Universal中添加类?

时间:2018-01-19 17:53:07

标签: angular angular-universal

我们可以在Angular应用的浏览器版本中使用Rendered2,但它需要document.body引用,并且在服务器呈现时不可用。

platform-browser包含TitleMeta个组件,但我希望能够更好地控制<head>部分,例如注入<script>标记,访问{{1}元素等

有办法吗?

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');
    }
}