#angular
Вопрос:
Я использую этот.elementref.nativeElement.remove() с помощью пользовательской директивы в нашем приложении angular, чтобы показать, скрыть несколько полей. Может ли это вызвать какой-либо риск для безопасности?
Комментарии:
1. Зачем вам нужно добавлять/удалять рассматриваемые элементы из DOM подобным образом? Это не рекомендуемый способ. Почему бы для этого не использовать встроенные структурные директивы?
2. Согласен, но у нас есть некоторые требования к ролевым и страновым шоу-шоу . Поэтому вместо использования множественной проверки условий и использования *ngIf . мы подумали о том, чтобы справиться с этим с помощью одной директивы. . Изменение dom с помощью elementref может вызвать угрозу безопасности, о которой я знаю, но мы удаляем только ненужные поля . Как вы думаете, возникнет ли угроза безопасности?
3. Если поддерживается прямой доступ к собственным элементам, то есть, если ваше приложение не работает в качестве веб-работника, я думаю, вы можете. Хотя вы можете изучить использование
Renderer2
API, доступного в@angular/core
. Он предоставляет такие методы, какremoveChild()
(для случаев, когда вы хотите удалить дочерний узел из DOM) иsetAttribute()
(для случаев, когда вы хотите отключить определенные поля) Подробнее об этом читайте здесь4. измените вопрос на соответствующий заголовок