Ng-Options Simple + Objetos

Selección de un array simple y uno con objetos con ng-options

by Porfirio Chavez

HTML

<div ng-app="arreglosapp">
  <div ng-controller="DocumentosPersonales as dp">
    <form>
        <fieldset>
          <legend>
          Array simple
          </legend>
          <select ng-options="opcion for opcion in dp.codigosEnArray" ng-model="dp.elegidaSimple">
            <option value="">-- Seleccione una --</option>
          </select>
          Seleccionado: {{ dp.elegidaSimple }}
        </fieldset>
        <fieldset>
          <legend>
          Array con Objetos (codigo)
          </legend>
          <select ng-options="opcion.codigo as opcion.descripcion for opcion in dp.codigosEnArrayConObjetos" ng-model="dp.elegidaConObjeto">
            <option value="">-- Seleccione una --</option>
          </select>
          Seleccionado: {{ dp.elegidaConObjeto }}
        </fieldset>
        <fieldset>
          <legend>
          Array con Objetos (descripcion)
          </legend>
          <select ng-options="opcion.descripcion as opcion.descripcion for opcion in dp.codigosEnArrayConObjetos" ng-model="dp.elegidaConObjetoDesc">
            <option value="">-- Seleccione una --</option>
          </select>
          Seleccionado: {{ dp.elegidaConObjetoDesc }}
        </fieldset>
    </form>
  </div>
</div>

JavaScript

angular.module("arreglosapp", [])
.controller("DocumentosPersonales", function(){
    var self = this;
    
    self.elegidaSimple;
    self.elegidaConObjeto;
    self.elegidaConObjetoDesc;
    
    self.codigosEnArray = [
    	'dni',
      'pasaporte',
      'carnet de extranjeria',
      'carnet de la policia'
    ]
    
    self.codigosEnArrayConObjetos = [
    	{codigo: 1, descripcion: 'dni'},
      {codigo: 2, descripcion: 'pasaporte'},
      {codigo: 3, descripcion: 'carnet de extranjeria'},
      {codigo: 4, descripcion: 'carnet de la policia'}
    ]
});