Ответ 1
{{}} - двойные фигурные скобки:
{{}}
являются выражениями Angular и приходят очень удобно, когда вы хотите писать материал в HTML:
<div>
{{planet.name == "Earth" ? "Yeah! We 're home!" : "Eh! Where 're we?"}}
</div>
<!-- with some directives like `ngSrc` -->
<img ng-src="http://www.example.com/gallery/{{hash}}"/>
<!-- set the title attribute -->
<div ng-attr-title="{{celebrity.name}}">...
<!-- set a custom attribute for your custom directive -->
<div custom-directive custom-attr="{{pizza.size}}"></div>
Не используйте их в месте, которое уже является выражением!
Например, директива ngClick
рассматривает все, что написано между кавычками как выражение:
<!-- so dont do this! -->
<!-- <button ng-click="activate({{item}})">... -->
{} - отдельные фигурные скобки:
{}
, как мы знаем, для объектов в JavaScript. Здесь тоже ничего особенного:
<div ng-init="distanceWalked = {mon:2, tue:2.5, wed:0.8, thu:3, fri:1.5,
sat:2, sun:3}">
С некоторыми директивами типа ngClass
или ngStyle
, которые принимают карту:
<span ng-style="{'color' : 'red'}">{{viruses.length}} viruses found!</span>
<div ng-class="{'green' : vegetable == 'lettuce',
'red' : vegetable == 'tomato'}">..
нет фигурных скобок:
Как уже упоминалось, просто держитесь без брекетов во внутренних выражениях. Довольно просто:
<div ng-if="zoo.enclosure.inmatesCount == 0">
Alarm! All the monkeys have escaped!
</div>