AngularJS-uttryck: ARRAY, Objekt, $eval, Strings [Exempel]
Vad รคr Angular JS Expressions?
Uttryck รคr variabler som definierades i de dubbla klammerparenteserna {{ }}. De รคr mycket vanliga inom Angular JS, och du skulle se dem i vรฅra tidigare handledningar.
Fรถrklara Angular.js-uttryck med ett exempel
AngularJS-uttryck รคr de som รคr skrivna inom dubbla klammerparenteser {{expression}}.
Syntax:
Ett enkelt exempel pรฅ ett uttryck รคr {{5 + 6}}.
Angular.JS-uttryck anvรคnds fรถr att binda data till HTML pรฅ samma sรคtt som ng-bind-direktivet. AngularJS visar data exakt pรฅ den plats dรคr uttrycket รคr placerat.
Lรฅt oss titta pรฅ ett exempel pรฅ Angular.JS-uttryck.
I det hรคr exemplet vill vi bara visa en enkel addition av tal som ett uttryck.
<!DOCTYPE html>
<html>
<head>
<meta chrset="UTF 8">
<title>Event Registration</title>
</head>
<body>
<script src="https://code.angularjs.org/1.6.9/angular-route.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular.min.js"></script>
<h1> Guru99 Global Event</h1>
<div ng-app="">
Addition : {{6+9}}
</div>
</body>
</html>
Code Fรถrklaring:
- ng-app-direktivet i vรฅrt exempel รคr tomt som visas i skรคrmdumpen ovan. Detta betyder bara att det inte finns nรฅgon modul att tilldela styrenheter, direktiv, tjรคnster kopplade till koden.
- Vi lรคgger till ett enkelt uttryck som tittar pรฅ tillรคgg av 2 siffror.
Om koden exekveras framgรฅngsrikt kommer fรถljande utdata att visas nรคr du kรถr din kod i webblรคsaren.
Produktion:
Frรฅn utgรฅngen,
- Det kan ses att tillรคgget av de tvรฅ siffrorna 9 och 6 sker och tillรคggsvรคrdet 15 visas.
Angular.JS Numbers
Uttryck kan ocksรฅ anvรคndas fรถr att arbeta med siffror. Lรฅt oss titta pรฅ ett exempel pรฅ Angular.JS-uttryck med siffror.
I det hรคr exemplet vill vi bara visa en enkel multiplikation av 2 talvariabler som kallas marginal och vinst och visa deras multiplicerade vรคrde.
<!DOCTYPE html>
<html>
<head>
<meta chrset="UTF 8">
<title>Event Registration</title>
</head>
<body>
<script src="https://code.angularjs.org/1.6.9/angular-route.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular.min.js"></script>
<h1> Guru99 Global Event</h1>
<div ng-app="" ng-init="margin=2;profit=200">
Total profit margin
{{margin*profit}}
</div>
</body>
</html>
Code Fรถrklaring:
- Direktivet ng-init anvรคnds i angular.js fรถr att definiera variabler och deras motsvarande vรคrden i sjรคlva vyn. Det รคr ungefรคr som att definiera lokala variabler att koda i nรฅgon programmeringssprรฅk. I det hรคr fallet definierar vi tvรฅ variabler som kallas marginal och vinst och tilldelar dem vรคrden.
- Vi anvรคnder sedan de tvรฅ lokala variablerna och multiplicerar deras vรคrden.
Om koden exekveras framgรฅngsrikt kommer fรถljande utdata att visas nรคr du kรถr din kod i webblรคsaren.
Produktion:
Frรฅn utgรฅngen,
- Det kan tydligt ses att multiplikationen av de 2 talen 2 och 200 รคger rum, och det multiplicerade vรคrdet 400 visas.
AngularJS Strings
Uttryck kan ocksรฅ anvรคndas fรถr att arbeta med strรคngar. Lรฅt oss titta pรฅ ett exempel pรฅ Angular JS-uttryck med strรคngar.
I det hรคr exemplet kommer vi att definiera 2 strรคngar av "fรถrnamn" och "efternamn" och visa dem med hjรคlp av uttryck i enlighet med detta.
<!DOCTYPE html>
<html>
<head>
<meta chrset="UTF 8">
<title>Event Registration</title>
</head>
<body>
<script src="https://code.angularjs.org/1.6.9/angular-route.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular.min.js"></script>
<h1> Guru99 Global Event</h1>
<div ng-app="" ng-init="firstName='Guru';lastName='99'">
First Name : {{firstName}}<br>
last Name : {{lastName}}
</div>
</body>
</html>
Code Fรถrklaring:
- Direktivet ng-init anvรคnds fรถr att definiera variablerna firstName med vรคrdet "Guruโ och variabeln efternamn med vรคrdet โ99โ.
- Vi anvรคnder sedan uttryck fรถr {{firstName}} och {{efternamn}} fรถr att komma รฅt vรคrdet pรฅ dessa variabler och visa dem i vyn dรคrefter.
Om koden exekveras framgรฅngsrikt kommer fรถljande utdata att visas nรคr du kรถr din kod i webblรคsaren.
Produktion:
Frรฅn utgรฅngen kan det tydligt ses att vรคrdena fรถr fรถrnamn och efternamn visas pรฅ skรคrmen.
Angular.JS Objekt
Uttryck kan anvรคndas att arbeta med JavaScript fรถremรฅl ocksรฅ.
Lรฅt oss titta pรฅ ett exempel pรฅ Angular.JS-uttryck med javascript-objekt. Ett javascript-objekt bestรฅr av ett namn-vรคrde-par.
Nedan รคr ett exempel pรฅ syntaxen fรถr ett javascript-objekt.
Syntax:
var car = {type:"Ford", model:"Explorer", color:"White"};
I det hรคr exemplet kommer vi att definiera ett objekt som ett personobjekt som kommer att ha tvรฅ nyckelvรคrdespar "firstName" och "efternamn".
<!DOCTYPE html>
<html>
<head>
<meta chrset="UTF 8">
<title>Event Registration</title>
</head>
<body>
<script src="https://code.angularjs.org/1.6.9/angular-route.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular.min.js"></script>
<h1> Guru99 Global Event</h1>
<div ng-app="" ng-init="person={firstName:'Guru',lastName:'99'}">
First Name : {{person.firstName}}<br>
Last Name : {{person.lastName}}
</div>
</body>
</html>
Code Fรถrklaring:
- Direktivet ng-init anvรคnds fรถr att definiera objektet person, vilket i sin tur har nyckelvรคrdespar fรถr firstName med vรคrdet "Guruโ och variabeln efternamn med vรคrdet โ99โ.
- Vi anvรคnder sedan uttryck fรถr {{person.firstName}} och {{person.secondName}} fรถr att komma รฅt vรคrdet pรฅ dessa variabler och visa dem i vyn i enlighet dรคrmed. Eftersom de faktiska medlemsvariablerna รคr en del av objektpersonen mรฅste de komma รฅt den med punktnotationen (.) fรถr att komma รฅt deras faktiska vรคrde.
Om koden exekveras framgรฅngsrikt kommer fรถljande utdata att visas nรคr du kรถr din kod i webblรคsaren.
Produktion:
Frรฅn utgรฅngen,
- Det kan tydligt ses att vรคrdena fรถr "firstName" och "secondName" visas pรฅ skรคrmen.
AngularJS-arrayer
Uttryck kan ocksรฅ anvรคndas fรถr att arbeta med arrayer. Lรฅt oss titta pรฅ ett exempel pรฅ Angular JS-uttryck med arrayer.
I det hรคr exemplet kommer vi att definiera en array som kommer att innehรฅlla betygen fรถr en elev i 3 รคmnen. I vyn kommer vi att visa vรคrdet pรฅ dessa mรคrken i enlighet med detta.
<!DOCTYPE html>
<html>
<head>
<meta chrset="UTF 8">
<title>Event Registration</title>
</head>
<body>
<script src="https://code.angularjs.org/1.6.9/angular-route.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular.min.js"></script>
<h1> Guru99 Global Event</h1>
<div ng-app="" ng-init="marks=[1,15,19]">
Student Marks<br>
Subject1 : {{marks[0] }}<br>
Subject2 : {{marks[1] }}<br>
Subject3 : {{marks[2] }}<br>
</div>
</body>
</html>
Code Fรถrklaring:
- Direktivet ng-init anvรคnds definiera arrayen med namnet "marks" med 3 vรคrden pรฅ 1, 15 och 19.
- Vi anvรคnder sedan uttryck av mรคrken [index] fรถr att komma รฅt varje element i arrayen.
Om koden exekveras framgรฅngsrikt kommer fรถljande utdata att visas nรคr du kรถr din kod i webblรคsaren.
Produktion:
Frรฅn utgรฅngen kan det tydligt ses att de markeringar som visas, som รคr definierade i arrayen.
AngularJS-uttrycksmรถjligheter och begrรคnsningar
Angular.JS uttrycksmรถjligheter
- Vinkeluttryck รคr som JavaManusuttryck. Dรคrfรถr har den samma kraft och flexibilitet.
- In JavaSkript, nรคr du fรถrsรถker utvรคrdera odefinierade egenskaper genererar det ett ReferenceError eller TypeError. I Angular รคr uttrycksutvรคrdering fรถrlรฅtande och genererar en odefinierad eller noll.
- Man kan anvรคnda filter i uttryck fรถr att formatera data innan de visas.
Angular JS Expressions begrรคnsningar
- Det finns fรถr nรคrvarande ingen mรถjlighet att anvรคnda villkor, loopar eller undantag i ett vinkeluttryck
- Du kan inte deklarera funktioner i ett Angular-uttryck, inte ens inuti ng-init-direktivet.
- Man kan inte skapa reguljรคra uttryck i ett Angular uttryck. Ett reguljรคrt uttryck รคr en kombination av symboler och tecken, som anvรคnds fรถr att hitta fรถr strรคngar som .*\.txt$. Sรฅdana uttryck kan inte anvรคndas inom Angular JS-uttryck.
- Man kan inte heller anvรคnda, eller ogiltigfรถrklara, i ett kantigt uttryck.
Skillnaden mellan expression och $eval
$eval-funktionen lรฅter en utvรคrdera uttryck inifrรฅn sjรคlva styrenheten. Sรฅ medan uttryck anvรคnds fรถr utvรคrdering i vyn, anvรคnds $eval i kontrollerfunktionen.
Lรฅt oss titta pรฅ ett enkelt exempel pรฅ detta.
I detta exempel,
Vi kommer bara att anvรคnda $eval-funktionen fรถr att lรคgga till 2 nummer och gรถra det tillgรคngligt i scope-objektet sรฅ att det kan visas i vyn.
<!DOCTYPE html>
<html>
<head>
<meta chrset="UTF 8">
<title>Event Registration</title>
</head>
<body>
<script src="https://code.angularjs.org/1.6.9/angular-route.js"></script>
<script src="https://code.angularjs.org/1.6.9/angular.min.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<div ng-app="sampleApp" ng-controller="AngularController">
<h1> Guru99 Global Event</h1>
{{value}}
</div>
<script>
var sampleApp = angular.module('sampleApp',[]);
sampleApp.controller('AngularController',function($scope){
$scope.a=1;
$scope.b=1;
$scope.value=$scope.$eval('a+b');
});
</script>
</body>
</html>
Code Fรถrklaring:
- Vi definierar fรถrst tvรฅ variabler 'a' och 'b', som var och en har ett vรคrde pรฅ 2.
- Vi anvรคnder $scope.$eval-funktionen fรถr att utvรคrdera tillรคgget av de 2 variablerna och tilldela det till omfรฅngsvariabeln 'vรคrde'.
- Vi visar dรฅ bara vรคrdet pรฅ variabeln 'vรคrde' i vyn.
Om koden exekveras framgรฅngsrikt kommer fรถljande utdata att visas nรคr du kรถr din kod i webblรคsaren.
Produktion:
Ovanstรฅende utdata visar utdata frรฅn uttrycket som utvรคrderades i styrenhet. Resultaten ovan visar att uttrycket $eval anvรคndes fรถr att utfรถra tillรคgget av de tvรฅ omfรฅngsvariablerna 'a och b' med resultatet skickat och visat i vyn.
Sammanfattning
- Vi har sett hur uttryck i Vinkelformig JS kan anvรคndas fรถr att utvรคrdera regelbundna JavaSkriptliknande uttryck som enkel addition av siffror.
- Direktivet ng-init kan anvรคndas fรถr att definiera variabler in-line som kan anvรคndas i vyn.
- Uttryck kan fรฅs att fungera med primitiva typer som strรคngar och tal.
- Uttryck kan รคven anvรคndas fรถr att arbeta med andra typer som t.ex JavaSkriptobjekt och arrayer.
- Uttryck i Angular JS har nรฅgra begrรคnsningar som till exempel att inte ha reguljรคra uttryck eller anvรคnda funktioner, loopar eller villkorliga uttalanden.












