Когда использовать 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

Другие вопросы по тегам