AngularJS instruktioner
- Föregående sida AngularJS moduler
- Nästa sida AngularJS modell
AngularJS tillåter dig att använda kallad “instruktionerny egenskap för att utöka HTML.
AngularJS har ett uppsättning inbyggda instruktioner som kan ge din applikation funktioner.
AngularJS tillåter också att du definierar egna instruktioner.
AngularJS instruktioner
AngularJS-instruktioner är utökade HTML-attribut med prefixet ng-
.
ng-app
Instruktioner initierar AngularJS-applikationen.
ng-init
Instruktioner initierar applikationsdata.
ng-model
Instruktioner binder värdet för HTML-kontroller (input, select, textarea) till applikationsdata.
Läs mer om alla AngularJS-instruktioner i vår AngularJS-instruktioner-referens.
exempel
<div ng-app="" ng-init="firstName='Bill'"> <p>Namn: <input type="text" ng-model="firstName"></p> <p>Du skrev: {{ firstName }}</p> </div>
ng-app
instruktionen informerar också AngularJS att <div>-elementet är ägaren till AngularJS-applikationen.
databindning
i föregående exempel {{ firstName }}
Ett uttryck är ett AngularJS-databindningsuttryck.
Databindning i AngularJS binder AngularJS-uttryck till AngularJS-data.
{{ firstName }}
och ng-model="firstName"
bundna samman.
I nästa exempel är två textfält bundna samman genom två ng-model-instruktioner:
exempel
<div ng-app="" ng-init="quantity=1;price=5"> Antal: <input type="number" ng-model="quantity"> Kostnader: <input type="number" ng-model="price"> Totalt i dollar: {{ quantity * price }} </div>
Använd ng-init
är inte så vanligt. Du kommer att lära dig hur du initierar data i avsnittet om kontroller.
att upprepa HTML-element
ng-repeat
Instruktion för att upprepa HTML-element:
exempel
<div ng-app="" ng-init="names=['Jani','Hege','Kai']"> <ul> <li ng-repeat="x in names"> {{ x }} </li> </ul> </div>
ng-repeat
instruktionen faktiskt för varje objekt i samlingenklonar en HTML-element en gång.
används för objektmängder ng-repeat
Instruktion:
exempel
<div ng-app="" ng-init="names=[ {name:'Jani',country:'Norway'}, {name:'Hege',country:'Sweden'}, {name:'Kai',country:'Danmark'}] <ul> <li ng-repeat="x in names"> {{ x.name + ', ' + x.country }} </li> </ul> </div>
AngularJS är mycket lämpligt för databas CRUD (skapa, läsa, uppdatera, ta bort) applikationer.
Tänk dig att dessa objekt kommer från databasposter.
ng-app-instruktion
ng-app
Instruktioner definierar AngularJS-applicasjonensRotelement.
när sidan laddas:ng-app
Instruktioner kommer attAutomatisk startapplikation (automatisk initiering).
ng-init-instruktion
ng-init
Instruktioner definierar AngularJS-applicasjonensInitialvärde.
Normalt använder du inte ng-init. Du kommer att använda kontrollorer eller moduler istället.
Du kommer att lära dig mer om kontrollorer och moduler senare.
ng-model-instruktion
ng-model
Instruktioner binder värdet för HTML-kontroller (input, select, textarea) till applikationsdata.
ng-model
Instruktioner kan också:
- Ge applikationsdata typvalidering (nummer, e-post, obligatorisk)
- Ge applikationsdata tillstånd (ogiltig, smutsig, berörd, fel)
- Ge HTML-element CSS-klasser
- Binda HTML-element till HTML-formulär
Läs mer om ng-model
Instruktionens information.
Skapa nya instruktioner
Förutom alla inbyggda AngularJS-instruktioner kan du skapa egna instruktioner.
Nya instruktioner skapas genom att använda .directive
funktion skapad.
För att anropa en ny instruktion måste du skapa en HTML-element med samma märknamn.
När du namnger instruktioner måste du använda huvudeckonomi-namngivning,w3TestDirective
men när du anropar den måste du använda - för att separera namnet,w3-test-directive
:
exempel
<body ng-app="myApp"> <w3-test-directive></w3-test-directive> <script> var app = angular.module("myApp", []); app.directive("w3TestDirective", function() { return { template : "<h1>Gjord av en instruktion!</h1>" }); }); </script> </body>
Du kan anropa instruktionen på följande sätt:
- Elementnamn
- Egenskap
- Klass
- Kommentar
Följande exempel kommer att generera samma resultat:
Elementnamn
<w3-test-directive></w3-test-directive>
Egenskap
<div w3-test-directive></div>
Klass
<div class="w3-test-directive"></div>
Kommentar
<!-- directive: w3-test-directive -->
Begränsa
kan du begränsa din instruktion så att den bara kan anropas genom vissa metoder.
exempel
genom att lägga till ett värde "A"
av restrict
egenskap, denna instruktion kan bara anropas genom egenskap:
var app = angular.module("myApp", []); app.directive("w3TestDirective", function() { return { restrict : "A", template : "<h1>Gjord av en instruktion!</h1>" }); });
Gyldiga restrict-värden är:
E
betyder elementnamnA
betyder egenskapC
betyder klassM
betyder kommentar
Som standard är värdet EA
,detta innebär att både elementnamn och attributnamn kan anropa instruktioner.
- Föregående sida AngularJS moduler
- Nästa sida AngularJS modell