AngularJS Hello World: il tuo primo programma di esempio
โก Riepilogo intelligente
I programmi "Hello World" in AngularJS necessitano solo di un singolo file HTML, un riferimento a uno script e due direttive, ng-app e ng-controller, per collegare una variabile di ambito del controller alla pagina tramite un'espressione tra doppie parentesi graffe.
Il modo migliore per rendersi conto della potenza di un'applicazione AngularJS รจ creare il primo semplice programma "Hello World" in AngularJS.
Esistono molti ambienti di sviluppo integrati che puoi utilizzare per AngularJS sviluppo, alcuni dei piรน popolari sono menzionati di seguito. Nel nostro esempio, stiamo usando Webstorm come il nostro IDE.
- Webstorm
- Sublime Text
- AngularJS Eclipse
- Di Visual Studio
Ciao mondo, AngularJS
Nota sulla versione: AngularJS 1.x ha lasciato il supporto a lungo termine il 31 dicembre 2021 e il team del framework conferma che Il supporto per AngularJS รจ ufficialmente terminato. nel gennaio 2022, con la versione 1.8.3 come rilascio finale e senza patch di sicurezza successive. Ogni passaggio e blocco di codice riportato di seguito รจ conservato esattamente come scritto. I nuovi progetti appartengono al moderno Angular, dove lo stesso esercizio inizia con ng serve e un componente autonomo e usa ancora lo stesso {{ }} Sintassi di interpolazione.
L'esempio seguente mostra il modo piรน semplice per creare la tua prima applicazione "Hello world" in AngularJS.
Lo screenshot annotato qui sotto etichetta ogni parte di quel file e i suoi sette numeri corrispondono a Code Di seguito la spiegazione. ร stato acquisito con una build precedente, la 1.4.0, quindi la riga dello script differisce dalla versione indicata nel codice.
<!DOCTYPE html> <html ng-app="app"> <head> <meta charset="utf 8"> <title>Guru99</title> </head> <body> <h1 ng-controller="HelloWorldCtrl">{{message}}</h1> <script src="https://code.angularjs.org/1.6.9/angular.js"></script> <script> angular.module("app", []).controller("HelloWorldCtrl", function($scope) { $scope.message="Hello World" } ) </script> </body> </html>
Code Spiegazione:
- Il "ng-appLa parola chiave " viene utilizzata per indicare che questa applicazione deve essere considerata come un'applicazione AngularJS. A questa applicazione puรฒ essere assegnato un nome qualsiasi.
- Il controller รจ ciรฒ che viene utilizzato per contenere la logica di business. Nel tag h1, vogliamo accedere al controllore, che conterrร la logica per visualizzare "Hello World", quindi possiamo dire che in questo tag vogliamo accedere al controller denominato "HelloWorldCtrl".
- Stiamo utilizzando una variabile membro chiamata "messaggio" che non รจ altro che un segnaposto per visualizzare il messaggio "Hello World".
- Il tag "script" viene utilizzato per fare riferimento allo script angular.js che contiene tutte le funzionalitร necessarie per AngularJS. Senza questo riferimento, se provassimo a utilizzare qualsiasi funzione di AngularJS, questa non funzionerebbe.
- "Controller" รจ il punto in cui creiamo effettivamente la nostra logica di business, ovvero il nostro controller. I dettagli di ciascuna parola chiave saranno spiegati nei capitoli successivi. ร importante notare che stiamo definendo un metodo del controller chiamato 'HelloWorldCtrl', a cui si fa riferimento nel passaggio 2.
- Stiamo creando una "funzione" che verrร chiamata quando il nostro codice richiamerร questo controller. L'oggetto $scope รจ un oggetto speciale in AngularJS, ovvero un oggetto globale utilizzato all'interno di AngularJS. L'oggetto $scope viene utilizzato per gestire i dati tra il controller e la vista.
- Stiamo creando una variabile membro chiamata "message", assegnandole il valore "Hello World" e collegando la variabile membro all'oggetto scope.
NOTA: La direttiva ng-controller รจ una parola chiave definita in AngularJS (Passaggio 2) e viene utilizzato per definire i controller nella tua applicazione. Qui nella nostra applicazione, abbiamo utilizzato la parola chiave ng-controller per definire un controller chiamato 'HelloWorldCtrl'. La logica effettiva per il controller verrร creata nel (Passaggio 5).
Se il codice viene eseguito correttamente, quando si esegue il codice nel browser verrร visualizzato il seguente output.
Produzione:
Verrร visualizzato il messaggio "Hello World".
Come caricare AngularJS: tramite CDN o file locale
L'esempio sopra funziona perchรฉ una riga trascina il framework nella pagina prima che il browser raggiunga la fine del corpo. AngularJS viene distribuito come un singolo JavaSi tratta di un file script, quindi il primo programma non necessita di una fase di compilazione nรฉ di un gestore di pacchetti. ร sufficiente un semplice file HTML aperto in un browser.
Esistono due modi per importare quel file.
- Fare riferimento a una copia CDN. L'esempio indica
code.angularjs.orge pin versione 1.6.9. Quel server serve ancora build 1.x, la piรน alta delle quali รจ la 1.8.2, mentre Google AngularJS non รจ piรน presente nell'elenco delle librerie ospitate. - Scarica una copia locale. Salva il file accanto alla pagina HTML e fai in modo che il tag script punti ad esso. Una copia locale permette all'esempio di funzionare anche offline, il che รจ importante quando un proxy blocca la CDN.
<!-- Option 1: reference a CDN copy --> <script src="https://code.angularjs.org/1.8.2/angular.min.js"></script> <!-- Option 2: reference a downloaded copy in the same folder --> <script src="angular.min.js"></script>
Usa il angular.js mentre si impara e angular.min.js in produzione: la build non minimizzata stampa uno stack leggibile tracsรฌ, mentre la build minimizzata riporta variabili rinominate.
Una volta caricato il file, ng-app avvia il framework. AngularJS cerca quell'attributo al termine del caricamento del documento, considera l'elemento che lo contiene come radice di compilazione e avvia il modulo specificato nel suo valore. Ne conseguono tre conseguenze:
- Solo il primo
ng-appsu una pagina viene avviato automaticamente. Un secondo viene ignorato a meno cheangular.bootstrapviene chiamata manualmente. - Il valore deve indicare un modulo registrato con angular.module, altrimenti la console segnala
[$injector:modulerr]. - Dove Posizionare
ng-appsul canalehtmlL'elemento, come nell'esempio, racchiude l'intero documento in AngularJS; anche un contenitore piรน ristretto funziona.
Come funzionano le espressioni {{ }} e il binding ng-model
Le doppie staffe intorno message nel tag h1 non รจ un segnaposto riempito una volta al momento del caricamento. AngularJS compila quel nodo di testo in un watcher sull'ambiente circostante portata, quindi l'output renderizzato tracks $scope.message per tutto il tempo in cui la pagina esiste.
Il ciclo si articola in tre fasi.
- Il controller scrive un valore su
$scope. - Una fase di digest confronta ogni espressione osservata con il suo risultato precedente.
- Ogni espressione il cui valore รจ cambiato viene renderizzata nuovamente sul posto.
Un'espressione interpolata รจ quindi unidirezionale, dall'ambito alla vista. Il binding bidirezionale richiede modello ng, il Direttive progettato per i controlli dei moduli. Aggiungi <input ng-model="message"> Accanto all'intestazione, digita nella casella e l'intestazione cambierร a ogni tasto premuto, perchรฉ ng-model riscrive il valore del campo nella stessa proprietร di ambito monitorata dall'espressione.
Le espressioni sono volutamente limitate. Leggono le proprietร di ambito, chiamano i metodi di ambito e tollerano silenziosamente i valori non definiti, tuttavia non possono dichiarare variabili, utilizzare istruzioni di controllo del flusso o raggiungere oggetti globali come window.
Come risolvere una pagina vuota o non renderizzata {{ }}
Un primo programma AngularJS fallisce in uno dei due modi visibili: la pagina rimane vuota oppure il testo letterale {{message}} appare dove dovrebbe esserci "Hello World". Entrambi i casi indicano che il framework non ha mai preso il controllo del markup. Esegui i controlli seguenti in ordine, con la console del browser aperta.
- Conferma il caricamento della libreria. Apri il pannello Rete e cerca
angular.jsrichiesta. Un errore 404 o una CDN irraggiungibile lascia le parentesi sullo schermo invariate. - Verifica il percorso dello script. Un percorso relativo si risolve rispetto alla cartella che contiene il file HTML, quindi una copia in un
jsnecessitร della sottocartellajs/angular.min.js. - Verifica ng-app. Un attributo mancante o scritto male non significa nulla bootstraps. L'attributo รจ con il trattino come
ng-appnel markup, anche se la direttiva รจ in formato camel case JavaScript. - Leggi l'errore nella console.
[$injector:modulerr]significa che il modulo denominato da ng-app non รจ mai stato registrato.[ng:areq]di solito significa che il nome del controller nel markup non corrisponde al nome passato a.controller(). - Cerca una seconda ng-app. Solo il primo elemento viene avviato automaticamente, quindi una copia residua lasciata su un elemento interno disabilita silenziosamente quella parte della pagina.
Altre due cause spiegano la maggior parte delle restanti segnalazioni.
- Il protocollo file. Questo esempio a file singolo funziona correttamente se aperto direttamente dal disco, ma qualsiasi template scaricato tramite XHR viene bloccato dalle regole di origine del browser. Una volta che i template sono disponibili, la cartella deve essere servita tramite HTTP.
- Un breve lampo di apparecchio ortodontico. Quando il markup viene renderizzato prima che il framework lo compili, l'espressione grezza รจ visibile per un momento. Aggiungi
ng-cloakall'elemento, oppure scambiare l'espressione conng-bind="message", che non mostra mai il proprio markup.
Se nessuna di queste opzioni รจ applicabile, riducete la pagina all'esempio sopra riportato e aggiungete il vostro codice una riga alla volta.


