Взятые из Угловой документации:
Угловые выражения
Угловые выражения являются фрагментами кода, подобными JavaScript, которые в основном помещаются в интерполяционные привязки, такие как
<span title="{{ attrBinding }}">{{ textBinding }}</span>
но также используется непосредственно в атрибутах директивы, таких как
ng-click="functionExpression()"
.Например, это допустимые выражения в Angular:
1 + 2 a + b user.name items [index]
Однако я немного смущен, когда использовать синтаксис двойных фигурных скобок {{}}
а когда нет. Документация, по-видимому, предполагает, что вам не нужны они при использовании выражений в атрибутах директивы (см. Пример ng-click выше).
Хотя следующий код, который работает, предлагает анекдотические доказательства обратного:
<ul id="Menu">
<li ng-repeat="appModule in applicationModules"
id="{{appModule.Name}}"
ng-class="{ 'selected' : selectedAppModule == '{{appModule.Name}}' }"
ng-click="menuClicked(appModule.Name)">
<a href="#Content/{{appModule.Name}}">{{appModule.Display}}</a>
</li>
</ul>
Обратите внимание, что в директиве ng-class используются двойные фигурные скобки, а внутри директивы ng-click они отсутствуют.
Откуда вы знаете, когда их использовать, а когда нет?