При условии, что HTML-элемент типа div
, как установить значение его id
атрибута, который является объединением переменной области видимости и строки?
javascript
angularjs
angularjs-scope
string-concatenation
Тьерри Марианна
источник
источник
myScopeObject
берутся? Где бы я это определил?myScopeObject
это свойствоscope
объекта, экспонируемого с помощью контроллера. Пожалуйста, смотрите также docs.angularjs.org/guide/controller . Это достаточно ясно для вас или я укажу дальше?<div id="{{ 'object' + index }}">
а<div ng-attr-id="{{ 'object' + index }}">
? Документы, кажется, говорят, что готовитсяng-attr-
помочь в случаях, когда элемент является чем-то нестандартным, например, не a<div>
. Я правильно читаю документы?Эта вещь работала для меня довольно хорошо:
<div id="{{ 'object-' + $index }}"></div>
источник
ng-attr-id
выгодно в 0% ситуаций. Примеры не могут быть предоставлены, потому что их нет.ng-attr-id
Метод для того, чтобы сырье нг выражение никогда не оказывается в допустимом атрибута HTML (напримерid
,label
и т.д.). Это должно остановить любое последующее использование чтения ng 'junk' (например, до завершения рендеринга или после сбоя js)В случае, если вы пришли к этому вопросу, но связаны с более новой версией Angular> = 2.0 .
источник
Более элегантный способ добиться такого поведения - просто:
Для моей реализации я хотел, чтобы каждый элемент ввода в ng-repeat имел каждый уникальный идентификатор, с которым ассоциируется метка. Таким образом, для массива объектов, содержащихся в myScopeObjects, можно сделать это:
Возможность генерировать уникальные идентификаторы на лету может быть очень полезна при динамическом добавлении контента, подобного этому.
источник
Вы можете просто сделать следующее
В твоем JS
В вашем шаблоне
который будет оказывать
Нет необходимости соединять внутри двойные фигурные скобки.
источник
Просто
<input id="field_name_{{$index}}" />
источник
Если вы используете этот синтаксис:
Angular сделает что-то вроде:
Однако этот синтаксис:
будет генерировать что-то вроде:
источник
ng-attr-id
создаватьng-id
..? это неверно. Интересно, кто голосует против этого