我是 Angular 的新手,我试图理解:
没有 Elementref,@ViewChild 指令有什么用?
Elementref 直接访问 DOM?还是虚拟 DOM?
为什么 Angular 团队说:“允许直接访问 DOM 会使您的应用程序更容易受到 XSS 攻击。”这意味着 Vanila JS 由于声称是危险的:JavaScript 访问 DOM?
最佳答案
ViewChild
是一个属性装饰器,可帮助您注入(inject)对组件或 DOM 引用的引用。
在您的情况下,您担心后者。 ElementRef
包装对 DOM 元素的引用。
Angular 提供了用于 DOM 操作的工具 - 例如 Renderer
- 如果您使用 ElementRef
,则具有内置的清理机制要修改 DOM,您需要处理自己的清理机制(因为您绕过 Angular DOM 清理)以避免 XSS 攻击。如果您不修改 DOM,那么您在设计上是安全的。
关于angular - ElementRef 和@ViewChild,不推荐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54482150/