AngularJS Select
AngularJS peut utiliser des tableaux ou des objets pour créer des options de liste déroulante.
Utilisez ng-options pour créer une liste déroulante
Dans AngularJS, on peut utiliserng-optionLa directive est utilisée pour créer une liste déroulante, et les éléments de la liste sont générés en parcourant des objets et des tableaux, comme dans l'exemple suivant :
Exemple
Essayez-le vous-même »
ng-init pour définir la valeur sélectionnée par défaut.
ng-options et ng-repeat
Nous pouvons également utiliserng-repeatcomme directive pour créer une liste déroulante :
ng-repeatLa directive parcourt les tableaux avec du code HTML pour créer des listes déroulantes, maisng-optionsla directive est plus adaptée pour créer des listes déroulantes, et elle présente les avantages suivants :
Utilisationng-optionsl'option est un objet,ng-repeatest une chaîne.
Lequel vaut-il mieux utiliser ?
Supposons que nous utilisions l'objet suivant :
$scope.sites = [
{site : "Google", url : "http://www.google.com"},
{site : "Example", url : "http://www.example.com"},
{site : "Taobao", url : "http://www.taobao.com"}
];
ng-repeatIl y a des limitations, la valeur sélectionnée est une chaîne :
Exemple
Utilisationng-repeat:
<option ng-repeat="x in sites" value="{{x.url}}">{{x.site}}</option>
</select>
<h1>Vous avez sélectionné :{{selectedSite}}</h1>
Essayez-le vous-même »
Utilisationng-optionsdirective, la valeur sélectionnée est un objet :
Exemple
Utilisationng-options:
</select>
<h1>Vous avez sélectionné :{{selectedSite.site}}</h1>
<p>L'URL est :{{selectedSite.url}}</p>
Essayez-le vous-même »
Lorsque la valeur sélectionnée est un objet, nous pouvons obtenir plus d'informations, et l'application est plus flexible.
La source de données est un objet
Dans les exemples précédents, nous avons utilisé un tableau comme source de données ; ci-dessous, nous utiliserons un objet de données comme source de données.
$scope.sites = {
site01 : "Google",
site02 : "Example",
site03 : "Taobao"
};
ng-optionsL'utilisation d'objets fait une grande différence, comme montré ci-dessous :
Exemple
En utilisant un objet comme source de données,xcomme clé,ycomme valeur :
</select>
<h1>La valeur que vous avez sélectionnée est :{{selectedSite}}</h1>
Essayez-le vous-même »
La valeur que vous sélectionnez est dans la clé-valeurdans la pairevaleur。
valeurdans la clé-valeurpaire, il peut aussi être un objet :
Exemple
La valeur sélectionnée se trouve dans la clé-valeurde la pairevaleurpaire, dans ce cas, il s'agit d'un objet :
car01 : {brand : "Ford", model : "Mustang", color : "red"},
car02 : {brand : "Fiat", model : "500", color : "white"},
car03 : {brand : "Volvo", model : "XC90", color : "black"}
};
Essayez-le vous-même »
Dans le menu déroulant, vous pouvez également ne pas utiliserkeydans la paire -valeurkey, et utiliser directement les propriétés de l'objet :
Exemple
</select>
Essayez-le vous-même »