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 :
Sources de données d'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>
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>
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
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
obj.value as obj.text for obj in array person as person.name for person in people
Notes supplémentaires
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!