Las ng-options en AngularJS
Este tutorial discutirá el ng-options y cómo podemos usarlas para mostrar opciones en seleccionar usando AngularJS.
Use ng-options en AngularJS
Las ng-options se utilizan para crear y vincular elementos HTML con opciones a una propiedad de modelo. Usamos ng-options para especificar opciones en una lista de selección.
ng-options está diseñado específicamente para completar los elementos de una lista desplegable. Veremos un ejemplo en el que crearemos un menú desplegable que usará ng-options para completar las opciones.
En primer lugar, agregamos la biblioteca AngularJS y el archivo app.js usando las etiquetas script.
# AngularJS
<head>
<script src="https://code.angularjs.org/1.4.0-beta.4/angular.js"></script>
<script src="app.js"></script>
</head>
Defina la aplicación AngularJS usando ng-app y el controlador usando ng-controller.
# AngularJS
<body ng-app="myApp">
<div ng-controller="myController"></div>
</body>
Ahora, en app.js, crearemos nuestro módulo.
# AngularJS
var app = angular.module('myApp', []);
Crearemos un controlador que definirá un array, selectedItem, y agregará valores asignados a la matriz para opciones en app.js.
# AngularJS
app.controller('myController', function($scope) {
$scope.lists = [];
$scope.selectedItem = { name: 'second', id: 5 };
$scope.lists = [{name: 'first', id: 3 },{ name: 'second', id: 5 },{ name: 'third', id: 7 }];
});
Por último, crearemos una interfaz para nuestra aplicación.
# AngularJS
<p>selected item is : {{selectedItem}}</p>
<p> name of selected item is : {{selectedItem.name}} </p>
<select ng-model="selectedItem" ng-options="list.name for list in lists track by list.id"></select>
Producción:

En el ejemplo anterior que usa ng-options, es muy fácil mostrar una lista de opciones en select. No necesitamos escribir ninguna línea adicional de código para seleccionar un elemento cuando un usuario selecciona un elemento.
Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.
LinkedIn