Maison > interface Web > js tutoriel > le corps du texte

Comment définir l'attribut de valeur dans les options ng d'AngularJS ?

Patricia Arquette
Libérer: 2024-11-08 15:22:02
original
497 Les gens l'ont consulté

How to Set the Value Attribute in AngularJS' ng-options?

Définition de l'attribut Value dans les options ng d'AngularJS

Un défi courant rencontré par les développeurs AngularJS est de définir la propriété value lors de l'utilisation du ng -options directive pour remplir une balise de sélection. Bien que la documentation puisse sembler ambiguë, la solution réside dans l'expression de compréhension.

Syntaxe de ngOptions

Comme indiqué dans la documentation AngularJS, ngOptions accepte une expression de compréhension dans l'un des formats suivants :

  • Sources de données du tableau :

    • étiquette pour la valeur dans le tableau
    • sélectionner comme étiquette pour la valeur dans le tableau
    • étiquette groupe par groupe pour la valeur dans le tableau
    • sélectionner comme étiquette groupe par groupe pour la valeur dans le tableau suivre par trackexpr
  • Sources de données d'objet :

    • étiquette pour (clé, valeur) dans l'objet
    • sélectionner comme étiquette pour (clé, valeur) dans l'objet
    • étiquette groupe par groupe pour (clé, valeur) dans l'objet
    • sélectionner comme étiquette groupe par groupe pour (clé, valeur) dans l'objet

Définition de la valeur pour les sources de données de tableau

Dans votre cas, où vous disposez d'un tableau d'objets avec des propriétés « valeur » et « texte », l'expression de compréhension appropriée pour définir l'attribut de valeur est :

<select ng-options="obj.value as obj.text for obj in array"></select>
Copier après la connexion

Utilisation de l'expression « suivre par »

Dans les mises à jour récentes d'AngularJS, une expression « suivre par » peut être utilisée pour définir explicitement la valeur de la sélection attribut value de l'élément :

<select ng-options="obj.text for obj in array track by obj.value"></select>
Copier après la connexion

Aide à la mémoire

Pour simplifier la mémorisation de cette syntaxe complexe, considérez-la comme une extension des compréhensions de liste de Python. A ce titre, il suit le format :

label as value for item in collection track by trackexpr
Copier après la connexion

Par exemple, les expressions suivantes sont équivalentes :

my_list = [x**2 for x in [1, 2, 3, 4, 5]]

person.name for person in people
Copier après la connexion
obj.value as obj.text for obj in array

person as person.name for person in people
Copier après la connexion

Notes supplémentaires

  • Le mot-clé "as" peut également être utilisé pour définir l'attribut label.
  • La définition des attributs label et value vous permet de spécifier différentes valeurs pour l'affichage et la soumission du formulaire.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal