Когда использовать ngAttr?
Просто хотел немного разъяснений. Мне сказали, что вы должны использовать ngAttr, когда есть интерполированная разметка. Например:
<div ng-attr-name={{Name}}></div>
Я также видел некоторые коды онлайн, где есть интерполированные разметки, но они не используют ngAttr. Существуют ли определенные ситуации, когда вы используете ngAttr и не используете ngAttr при работе с интерполированными разметками?
1 ответ
Я помню, столкнулся с этой проблемой при работе с <svg/>
и попытка интерполировать атрибуты, такие как cx (что является классическим примером в текущей документации angularjs). Браузер будет жаловаться при попытке сделать следующее:
<svg>
<circle cx="{{cx}}"></circle>
</svg>
из-за ограничений при использовании SVG DOM API. Следовательно ng-attr
директива пригодится с
<svg>
<circle ng-attr-cx="{{cx}}"></circle>
</svg>
В результате использование в этом сценарии директивы `ng-attr 'соответствующим образом установит значение, основанное на вашей привязке. Теперь, что я заметил новым в документации, это следующие случаи, которые могут вызывать проблемы, если вы не используете ng-attr
- размер в элементах (см. выпуск 1619)
- заполнитель в Internet Explorer 10/11 (см. выпуск 5025)
- введите в Internet Explorer 11 (см. выпуск 14117)
- значение в Internet Explorer = 11 (см. выпуск 7218)