5

当前支持 Angular 2.0 的所有插件似乎都不支持 Angular Universal。由于直接DOM访问,它显示错误。我想以 Angular DOM2 方式更改访问代码。任何人都可以为窗口queryselector()、文档、、、、、等querySelectorAll()建议angular 2 方式吗?document.getElementsByTagname()getElementsByClassName()

4

2 回答 2

0

起初,Angular2 不鼓励直接访问 DOM。您应该更喜欢使用类似指令*ngFor和自定义结构指令来更新 DOM。

您可以使用angular 2 / typescript中提到的方法之一:获取模板中的元素以获取元素并使用渲染器提供的内容来修改 DOM 而不会破坏 Universal。

有关结构指令,另请参见

于 2016-11-22T17:15:11.913 回答
0

Angular 不鼓励直接访问 Dom。此外,您还可以查看有关使用 elementRef 的评论。elementRef 也不鼓励。对于 elementRef,Angular 团队说:“当需要直接访问 DOM 时,使用这个 API 作为最后的手段。”。

您可以使用 renderer2 库。将此库与 elementRef 一起使用。

于 2022-01-25T10:43:25.530 回答