Expresii AngularJS: ARRAY, Objects, $eval, Strings [Exemple]

Ce este Angular JS Expressions?

Expresiile sunt variabile care au fost definite în acolade duble {{ }}. Sunt foarte frecvent utilizate în Angular JS și le-ați vedea în tutorialele noastre anterioare.

Explicați expresiile Angular.js cu un exemplu

Expresiile AngularJS sunt cele care sunt scrise între acolade duble {{expresie}}.

Sintaxă:

Un exemplu simplu de expresie este {{5 + 6}}.

Expresiile Angular.JS sunt folosite pentru a lega date la HTML în același mod ca directiva ng-bind. AngularJS afișează datele exact în locul în care este plasată expresia.

Să ne uităm la un exemplu de expresii Angular.JS.

În acest exemplu, vrem doar să arătăm o simplă adăugare de numere ca expresie.

Expresii Angular.js

<!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>

Explicația codului:

  1. Directiva ng-app din exemplul nostru este goală, așa cum se arată în captura de ecran de mai sus. Aceasta înseamnă doar că nu există niciun modul pentru a atribui controlere, instrucțiuni, servicii atașate codului.
  2. Adăugăm o expresie simplă care privește adăugarea a 2 numere.

Dacă codul este executat cu succes, următoarea ieșire va fi afișată atunci când rulați codul în browser.

ieșire:

Expresii Angular.js

Din ieșire,

  • Se poate observa că are loc adunarea celor două numere 9 și 6 și se afișează valoarea adăugată de 15.

Angular.JS Numbers

Expresiile pot fi folosite și pentru a lucra cu numere. Să ne uităm la un exemplu de expresii Angular.JS cu numere.

În acest exemplu, vrem doar să arătăm o simplă multiplicare a 2 variabile numerice numite marjă și profit și să afișăm valoarea lor înmulțită.

Angular.JS Numbers

<!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>

Explicația codului:

  1. Directiva ng-init este utilizată în angular.js pentru a defini variabilele și valorile lor corespunzătoare în vizualizarea în sine. Este oarecum ca definirea variabilelor locale pentru a codifica în oricare limbaj de programare. În acest caz, definim 2 variabile numite marjă și profit și le atribuim valori.
  2. Apoi folosim cele 2 variabile locale și le înmulțim valorile.

Dacă codul este executat cu succes, următoarea ieșire va fi afișată atunci când rulați codul în browser.

ieșire:

Angular.JS Numbers

Din ieșire,

  • Se vede clar că are loc înmulțirea celor 2 numere 2 și 200, iar valoarea înmulțită de 400 este afișată.

Șiruri de caractere AngularJS

Expresiile pot fi folosite și pentru a lucra cu șiruri. Să ne uităm la un exemplu de expresii Angular JS cu șiruri.

În acest exemplu, vom defini 2 șiruri de „firstName” și „lastName” și le vom afișa folosind expresii în consecință.

Șiruri de caractere AngularJS

<!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'">

        &nbsp;&nbsp;&nbsp;
        First Name : {{firstName}}<br>&nbsp;&nbsp;&nbsp;
        last Name : {{lastName}}

    </div>

</body>
</html>

Explicația codului:

  1. Directiva ng-init este folosită pentru a defini variabilele firstName cu valoarea „Guru” și variabila lastName cu valoarea „99”.
  2. Apoi folosim expresii de {{firstName}} și {{lastName}} pentru a accesa valoarea acestor variabile și pentru a le afișa în vizualizare în consecință.

Dacă codul este executat cu succes, următoarea ieșire va fi afișată atunci când rulați codul în browser.

ieșire:

Șiruri de caractere AngularJS

Din rezultat, se poate vedea clar că valorile firstName și lastName sunt afișate pe ecran.

Obiecte Angular.JS

Expresiile pot fi folosite pentru a lucra cu JavaScenariu de asemenea obiectele.

Să ne uităm la un exemplu de expresii Angular.JS cu obiecte javascript. Un obiect javascript constă dintr-o pereche nume-valoare.

Mai jos este un exemplu de sintaxă a unui obiect javascript.

Sintaxă:

var car = {type:"Ford", model:"Explorer", color:"White"};

În acest exemplu, vom defini un obiect ca obiect persoană care va avea 2 perechi valori cheie „firstName” și „lastName”.

Obiecte Angular.JS

<!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'}">

    &nbsp;&nbsp;&nbsp;
    First Name : {{person.firstName}}<br>&nbsp;&nbsp;&nbsp;
    Last Name : {{person.lastName}}

</div>

</body>
</html>

Explicația codului:

  1. Directiva ng-init este folosită pentru a defini persoana obiect care, la rândul său, are perechi valori cheie de firstName cu valoarea „Guru” și variabila lastName cu valoarea „99”.
  2. Apoi, folosim expresii de {{person.firstName}} și {{person.secondName}} pentru a accesa valoarea acestor variabile și pentru a le afișa în vizualizare în consecință. Deoarece variabilele membre efective fac parte din persoana obiect, acestea trebuie să o acceseze cu notația punct (.) pentru a accesa valoarea lor reală.

Dacă codul este executat cu succes, următoarea ieșire va fi afișată atunci când rulați codul în browser.

ieșire:

Obiecte Angular.JS

Din ieșire,

  • Se poate observa clar că valorile „firstName” și „secondName” sunt afișate pe ecran.

Matrice AngularJS

Expresiile pot fi folosite și pentru a lucra cu matrice. Să ne uităm la un exemplu de expresii Angular JS cu matrice.

În acest exemplu, vom defini o matrice care va deține notele unui student la 3 materii. În vizualizare, vom afișa valoarea acestor mărci în mod corespunzător.

Matrice AngularJS

<!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>&nbsp;&nbsp;&nbsp;
    Subject1 : {{marks[0] }}<br>&nbsp;&nbsp;&nbsp;
    Subject2 : {{marks[1] }}<br>&nbsp;&nbsp;&nbsp;
    Subject3 : {{marks[2] }}<br>&nbsp;&nbsp;&nbsp;
</div>

</body>
</html>

Explicația codului:

  1. Directiva ng-init este folosită pentru a defini matricea cu numele „marks” cu 3 valori de 1, 15 și 19.
  2. Apoi folosim expresii de mărci [index] pentru a accesa fiecare element al matricei.

Dacă codul este executat cu succes, următoarea ieșire va fi afișată atunci când rulați codul în browser.

ieșire:

Matrice AngularJS

Din ieșire, se poate vedea clar că marcajele afișate, care sunt definite în matrice.

Capacități și limitări AngularJS Expression

Capacitățile de expresie Angular.JS

  1. Expresiile unghiulare sunt ca JavaExpresii de scenariu. Prin urmare, are aceeași putere și flexibilitate.
  2. In JavaScript, atunci când încercați să evaluați proprietăți nedefinite, generează o ReferenceError sau TypeError. În Angular, evaluarea expresiei este îngăduitoare și generează un nedefinit sau nul.
  3. Se pot folosi filtre în expresii pentru a formata datele înainte de a le afișa.

Limitări de expresie JS angular

  1. În prezent, nu există disponibilitate pentru a utiliza condiționale, bucle sau excepții într-o expresie Angular
  2. Nu puteți declara funcții într-o expresie unghiulară, chiar și în cadrul directivei ng-init.
  3. Nu se poate crea expresii regulate într-o expresie unghiulară. O expresie regulată este o combinație de simboluri și caractere, care sunt folosite pentru a găsi șiruri precum .*\.txt$. Astfel de expresii nu pot fi folosite în expresiile Angular JS.
  4. De asemenea, nu se poate folosi sau nu poate fi folosită într-o expresie unghiulară.

Diferența dintre expresie și $eval

Funcția $eval permite evaluarea expresiilor din interiorul controlerului însuși. Deci, în timp ce expresiile sunt folosite pentru evaluare în vizualizare, $eval este folosit în funcția de controler.

Să ne uităm la un exemplu simplu în acest sens.

În acest exemplu,

Vom folosi doar funcția $eval pentru a adăuga 2 numere și pentru a le face disponibile în obiectul scope, astfel încât să poată fi afișat în vizualizare.

Diferența dintre expresie și $eval

<!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>

Explicația codului:

  1. Mai întâi definim 2 variabile „a” și „b”, fiecare având o valoare de 1.
  2. Folosim funcția $scope.$eval pentru a evalua adăugarea celor 2 variabile și a o atribui variabilei de domeniu „valoare”.
  3. Apoi afișăm doar valoarea variabilei „valoare” în vizualizare.

Dacă codul este executat cu succes, următoarea ieșire va fi afișată atunci când rulați codul în browser.

ieșire:

Diferența dintre expresie și $eval

Ieșirea de mai sus arată rezultatul expresiei care a fost evaluată în controlor. Rezultatele de mai sus arată că expresia $eval a fost folosită pentru a realiza adăugarea celor 2 variabile de domeniu „a și b” cu rezultatul trimis și afișat în vizualizare.

Rezumat

  • Am văzut cum expresiile în JS unghiular poate fi folosit pentru a evalua regulat JavaExpresii asemănătoare scriptului, cum ar fi simpla adăugare de numere.
  • Directiva ng-init poate fi folosită pentru a defini variabilele în linie care pot fi utilizate în vizualizare.
  • Expresiile pot fi făcute să funcționeze cu tipuri primitive, cum ar fi șiruri și numere.
  • Expresiile pot fi folosite și pentru a lucra cu alte tipuri, cum ar fi JavaScript obiecte și matrice.
  • Expresiile din Angular JS au câteva limitări, cum ar fi, de exemplu, să nu aibă expresii regulate sau să folosească funcții, bucle sau instrucțiuni condiționate.