Lier ng-value des options et l'étiquette de ng-model

Je suis en utilisant ng-options pour générer une balise select, dont les options sont des emplacements. Les étiquettes sont les noms de lieux, et les valeurs sont l'emplacement d'identité (dans la base de données).

J'ai lié la valeur (code d'emplacement) pour un ng-model attribut, mais je tiens également à lier l'étiquette (nom de lieu) d'un autre ng-model attribut. (J'ai besoin de séparer les id champ, car ce seront envoyées à un serveur qui attend cet attribut particulier.) Quelle est la meilleure façon de le faire dans Angulaire?

Mon code:

<div ng-app="app"><div ng-controller="edit">
  <select ng-model="purchase.pickUpLocationId" ng-options="loc.id as loc.name for loc in purchase.availableLocations"></select>

  <!-- This is the model not yet bound: -->
  <p>You have selected {{ purchase.pickUpLocationName }}</p>

</div></div>

var app = angular.module('app', []);

app.controller('edit', ['$scope', function($scope) {
    $scope.purchase = {
        pickUpLocationId: 30,
        availableLocations: [
            {id: 20, name: "Charleston, SC"},
            {id: 30, name: "Atlanta, GA"},
            {id: 40, name: "Richmond, VA"},
        ]
    };
}]);

OriginalL'auteur eirikir | 2015-04-22