Ehdottomasti AngularJS:n tärkein ominaisuus. Käyttöliittymän päivittäminen jätetään AngularJS:n vastuulle. Tämä ei välttämättä tunnu niin älyttömältä edulta aluksi mutta vähän ajan kuluttua tämä osoittautuu aivan loistavaksi ominaisuudeksi.
Vertailukohtana Backbonessa pitää itse kutsua Viewin render
metodia aina kun data on muuttunut modelissa. Backbonessa render
luo koko Viewin HTML:n uudestaan alusta asti ja korvaa vanhan kokonaan. Tästä tulee ongelmia jos halutaan säilyttää valitun elementin focus tai kursorin paikka tekstikenntässä.
AngularJS:ssä View on HTML-template johon logiikka lisätään elementtien attribuutteina. Näitä kutsutaan directiiveiksi. AngularJS pureskelee nämä komennot automaattisesti. Templaten sekaan ei siis laiteta monien template kielien tapaan normaalia koodia, looppeja tai ehtorakenteita. Tämä lisännee selkeyttä (makuasia).
ng-app directiivillä käynnistetaan AngularJS ja rajataan sen toiminta-alue tägin sisäiseen DOMiin.
ng-model directiivi sitoo input-elementin arvon muuttujaan joka annetaan directiivin parametrina. Tämä muuttuja päivittyy aina kun inputin arvoa muuttaa.
Expression on AngularJS:n oma kieli jolla on JavaScriptistä riisuttu syntaksi. Se ei heitä koskaan virheitä (eli kuolee hiljaa) ja siinä ei voi olla ehtorakenteita. Tietoturvan parantamiseksi Expression-kieli escapettaa automaattisesti kaikki printatttavat tekstit joten script
-tagien injectointi ei toimi.
Expressionilla printataan tekstä HTML-elementtiin tupla-aaltosulkeilla {{ 1+1 }}
, joka printtaa 2
. Expressionissa voidaan viitaa muuttujiin joita voidaan tulostaa.
Etunimi:
Sukunimi:
Koko nimi: {{ etunimi + ' ' + sukunimi }}