Выражения AngularJS
AngularJS привязывает данные к HTML с помощью выражений .
Выражения AngularJS
Выражения AngularJS можно записывать внутри двойных фигурных скобок: .{{ expression }}
Выражения AngularJS также могут быть записаны внутри директивы: .ng-bind="expression"
AngularJS разрешит выражение и вернет результат именно там, где выражение написано.
Выражения AngularJS очень похожи на выражения JavaScript: они могут содержать литералы, операторы и переменные.
Пример {{ 5 + 5 }} или {{ firstName + " " + lastName }}
Пример
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>
<div ng-app="">
<p>My first expression: {{ 5 + 5 }}</p>
</div>
</body>
</html>
Если вы удалите ng-app
директиву, HTML отобразит выражение как есть, не решая его:
Пример
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>
<div>
<p>My first expression: {{ 5 + 5 }}</p>
</div>
</body>
</html>
Вы можете писать выражения где угодно, AngularJS просто разрешит выражение и вернет результат.
Пример: пусть AngularJS изменит значение свойств CSS.
Измените цвет поля ввода ниже, изменив его значение:
Пример
<div ng-app="" ng-init="myCol='lightblue'">
<input
style="background-color:{{myCol}}" ng-model="myCol">
</div>
Номера AngularJS
Числа AngularJS похожи на числа JavaScript:
Пример
<div ng-app="" ng-init="quantity=1;cost=5">
<p>Total in dollar: {{ quantity * cost }}</p>
</div>
Тот же пример с использованием ng-bind
:
Пример
<div ng-app="" ng-init="quantity=1;cost=5">
<p>Total in dollar: <span ng-bind="quantity * cost"></span></p>
</div>
Использование ng-init
не очень распространено. Вы узнаете лучший способ инициализации данных в главе о контроллерах.
Строки AngularJS
Строки AngularJS похожи на строки JavaScript:
Пример
<div ng-app="" ng-init="firstName='John';lastName='Doe'">
<p>The name is {{ firstName + " " + lastName }}</p>
</div>
Тот же пример с использованием ng-bind
:
Пример
<div ng-app="" ng-init="firstName='John';lastName='Doe'">
<p>The name is <span ng-bind="firstName + ' ' + lastName"></span></p>
</div>
Объекты AngularJS
Объекты AngularJS похожи на объекты JavaScript:
Пример
<div ng-app="" ng-init="person={firstName:'John',lastName:'Doe'}">
<p>The name is {{ person.lastName }}</p>
</div>
Тот же пример с использованием ng-bind
:
Пример
<div ng-app="" ng-init="person={firstName:'John',lastName:'Doe'}">
<p>The name is <span ng-bind="person.lastName"></span></p>
</div>
AngularJS Массивы
Массивы AngularJS похожи на массивы JavaScript:
Пример
<div ng-app="" ng-init="points=[1,15,19,2,40]">
<p>The third result is {{ points[2] }}</p>
</div>
Тот же пример с использованием ng-bind
:
Пример
<div ng-app="" ng-init="points=[1,15,19,2,40]">
<p>The third result is <span ng-bind="points[2]"></span></p>
</div>
Выражения AngularJS против выражений JavaScript
Как и выражения JavaScript, выражения AngularJS могут содержать литералы, операторы и переменные.
В отличие от выражений JavaScript, выражения AngularJS можно писать внутри HTML.
Выражения AngularJS не поддерживают условные операторы, циклы и исключения, в отличие от выражений JavaScript.
Выражения AngularJS поддерживают фильтры, а выражения JavaScript — нет.
Узнайте о JavaScript в нашем учебном пособии по JavaScript .