Espressioni AngularJS: ARRAY, Objects, $eval, Strings [Esempi]

Che cosa sono le espressioni Angular JS?

Le espressioni sono variabili che sono state definite tra doppie parentesi graffe {{ }}. Sono molto comunemente utilizzate in Angular JS e le avresti viste nei nostri tutorial precedenti.

Spiegare le espressioni Angular.js con un esempio

Le espressioni AngularJS sono quelle scritte tra doppie parentesi graffe {{expression}}.

Sintassi:

Un semplice esempio di espressione รจ {{5 + 6}}.

Le espressioni Angular.JS vengono utilizzate per associare i dati all'HTML allo stesso modo della direttiva ng-bind. AngularJS visualizza i dati esattamente nel punto in cui รจ posizionata l'espressione.

Diamo un'occhiata ad un esempio di espressioni Angular.JS.

In questo esempio, vogliamo solo mostrare una semplice addizione di numeri come espressione.

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

Code Spiegazione:

  1. La direttiva ng-app nel nostro esempio รจ vuota, come mostrato nello screenshot sopra. Ciรฒ significa solo che non esiste alcun modulo a cui assegnare i controller, direttive, servizi allegati al codice.
  2. Stiamo aggiungendo una semplice espressione che esamina la somma di 2 numeri.

Se il codice viene eseguito correttamente, quando si esegue il codice nel browser verrร  visualizzato il seguente output.

Produzione:

 Espressioni Angular.js

Dall'uscita,

  • Si puรฒ vedere che avviene la somma dei due numeri 9 e 6 e viene visualizzato il valore aggiunto di 15.

Angular.JS Numbers

Le espressioni possono essere utilizzate anche per lavorare con i numeri. Diamo un'occhiata ad un esempio di espressioni Angular.JS con numeri.

In questo esempio, vogliamo solo mostrare una semplice moltiplicazione di 2 variabili numeriche chiamate margine e profitto e visualizzare il loro valore moltiplicato.

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>

Code Spiegazione:

  1. La direttiva ng-init viene utilizzata in angular.js per definire le variabili e i loro valori corrispondenti nella vista stessa. รˆ un po' come definire variabili locali da codificare in any linguaggio di programmazione. In questo caso, stiamo definendo 2 variabili chiamate margine e profitto e assegnando loro dei valori.
  2. Utilizzeremo quindi le 2 variabili locali e moltiplicheremo i loro valori.

Se il codice viene eseguito correttamente, quando si esegue il codice nel browser verrร  visualizzato il seguente output.

Produzione:

Angular.JS Numbers

Dall'uscita,

  • Si puรฒ vedere chiaramente che avviene la moltiplicazione dei 2 numeri 2 e 200 e viene visualizzato il valore moltiplicato di 400.

Stringhe AngularJS

Le espressioni possono essere utilizzate anche per lavorare con le stringhe. Diamo un'occhiata ad un esempio di espressioni Angular JS con stringhe.

In questo esempio, definiremo 2 stringhe di "firstName" e "lastName" e le visualizzeremo utilizzando le espressioni di conseguenza.

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

Code Spiegazione:

  1. La direttiva ng-init viene utilizzata per definire le variabili firstName con il valore โ€œGurue la variabile lastName con il valore di โ€œ99โ€.
  2. Utilizzeremo quindi le espressioni di {{firstName}} e {{lastName}} per accedere al valore di queste variabili e visualizzarle di conseguenza nella vista.

Se il codice viene eseguito correttamente, quando si esegue il codice nel browser verrร  visualizzato il seguente output.

Produzione:

Stringhe AngularJS

Dall'output si vede chiaramente che i valori di firstName e lastName vengono visualizzati sullo schermo.

Oggetti Angular.JS

รˆ possibile utilizzare le espressioni con cui lavorare JavaCopione anche gli oggetti.

Diamo un'occhiata ad un esempio di espressioni Angular.JS con oggetti javascript. Un oggetto JavaScript รจ costituito da una coppia nome-valore.

Di seguito รจ riportato un esempio della sintassi di un oggetto javascript.

Sintassi:

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

In questo esempio, definiremo un oggetto come oggetto persona che avrร  2 coppie chiave-valore di "firstName" e "lastName".

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

Code Spiegazione:

  1. La direttiva ng-init viene utilizzata per definire l'oggetto person che a sua volta ha coppie chiave-valore firstName con il valore "Gurue la variabile lastName con il valore di โ€œ99โ€.
  2. Utilizzeremo quindi le espressioni di {{person.firstName}} e {{person.secondName}} per accedere al valore di queste variabili e visualizzarle di conseguenza nella vista. Poichรฉ le variabili membro effettive fanno parte dell'oggetto persona, devono accedervi con la notazione punto (.) per accedere al loro valore effettivo.

Se il codice viene eseguito correttamente, quando si esegue il codice nel browser verrร  visualizzato il seguente output.

Produzione:

Oggetti Angular.JS

Dall'uscita,

  • Si puรฒ vedere chiaramente che i valori di โ€œfirstNameโ€ e โ€œsecondNameโ€ vengono visualizzati sullo schermo.

Array AngularJS

Le espressioni possono essere utilizzate anche per lavorare con gli array. Diamo un'occhiata a un esempio di espressioni Angular JS con array.

In questo esempio, definiremo un array che conterrร  i voti di uno studente in 3 materie. Nella vista, mostreremo di conseguenza il valore di questi segni.

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

Code Spiegazione:

  1. La direttiva ng-init viene utilizzata per definire l'array con il nome โ€œmarksโ€ con 3 valori di 1, 15 e 19.
  2. Utilizzeremo quindi le espressioni mark [indice] per accedere a ciascun elemento dell'array.

Se il codice viene eseguito correttamente, quando si esegue il codice nel browser verrร  visualizzato il seguente output.

Produzione:

Array AngularJS

Dall'output si puรฒ vedere chiaramente che gli indicatori visualizzati sono definiti nell'array.

Funzionalitร  e limitazioni dell'espressione AngularJS

Funzionalitร  di espressione Angular.JS

  1. Le espressioni angolari sono come JavaEspressioni di script. Quindi, ha la stessa potenza e flessibilitร .
  2. In JavaScript, quando provi a valutare proprietร  indefinite, genera un ReferenceError o TypeError. In Angular, la valutazione dell'espressione รจ indulgente e genera un undefined o null.
  3. รˆ possibile utilizzare filtri all'interno delle espressioni per formattare i dati prima di visualizzarli.

Limitazioni dell'espressione JS angolare

  1. Al momento non รจ possibile utilizzare condizionali, loop o eccezioni in un'espressione Angular
  2. Non puoi dichiarare funzioni in un'espressione angolare, nemmeno all'interno della direttiva ng-init.
  3. Non รจ possibile creare espressioni regolari in un'espressione angolare. Un'espressione regolare รจ una combinazione di simboli e caratteri, utilizzati per trovare stringhe come .*\.txt$. Tali espressioni non possono essere utilizzate all'interno delle espressioni Angular JS.
  4. Inoltre, non รจ possibile utilizzare o void in un'espressione angolare.

Differenza tra espressione e $eval

La funzione $eval consente di valutare le espressioni dall'interno del controller stesso. Pertanto, mentre le espressioni vengono utilizzate per la valutazione nella vista, $eval viene utilizzato nella funzione del controller.

Diamo un'occhiata a un semplice esempio su questo.

In questo esempio,

Utilizzeremo semplicemente la funzione $eval per aggiungere 2 numeri e renderli disponibili nell'oggetto scope in modo che possano essere mostrati nella vista.

Differenza tra espressione e $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>

Code Spiegazione:

  1. Per prima cosa definiamo 2 variabili "a" e "b", ciascuna con un valore pari a 1.
  2. Stiamo utilizzando la funzione $scope.$eval per valutare l'addizione delle 2 variabili e assegnarla alla variabile scope "value".
  3. Quindi visualizzeremo semplicemente il valore della variabile "value" nella vista.

Se il codice viene eseguito correttamente, quando si esegue il codice nel browser verrร  visualizzato il seguente output.

Produzione:

Differenza tra espressione e $eval

L'output sopra mostra l'output dell'espressione che รจ stata valutata nel file controllore. I risultati precedenti mostrano che l'espressione $eval รจ stata utilizzata per eseguire l'aggiunta delle 2 variabili di ambito "aeb" con il risultato inviato e visualizzato nella vista.

Sintesi

  • Abbiamo visto come le espressioni in JS angolare puรฒ essere utilizzato per valutare regolare JavaEspressioni simili a script, come la semplice addizione di numeri.
  • La direttiva ng-init puรฒ essere utilizzata per definire variabili in linea che possono essere utilizzate nella vista.
  • รˆ possibile far funzionare le espressioni con tipi primitivi come stringhe e numeri.
  • Le espressioni possono essere utilizzate anche per lavorare con altri tipi come JavaOggetti script e array.
  • Le espressioni in Angular JS presentano alcune limitazioni, come ad esempio non dover avere espressioni regolari o utilizzare funzioni, loop o istruzioni condizionali.

Riassumi questo post con: