如何在AngularJs中使用ng-options显示两个值?

Vim*_*mal 7 angularjs

我有一个下拉过滤器,它工作正常.请参阅链接
http://plnkr.co/edit/c5Hrqfv1eA5qfQpkYR41?p=preview
但我想在下拉列表中再添加一个值,然后它无法正常工作.我尝试过以下代码.

<select ng-model="filterDeck.deckDetail" ng-options="deck.name as (deck.name+' - '+deck.level) for deck in data">
</select>
Run Code Online (Sandbox Code Playgroud)

请帮我这样做.谢谢.
VIMAL

nwe*_*weg 13

如果您不想对过滤器进行任何更改,请使用以下选项:

<select ng-model="filterDeck.deckDetail" ng-options="deck as deck.name + ' - '  + deck.level for deck in data">
Run Code Online (Sandbox Code Playgroud)

上面的选项将整个对象绑定到模型.

如果您只想将id绑定到模型,则需要更新select并过滤到以下内容:

<select ng-model="filterDeck.deckDetail" ng-options="deck.id as deck.name + ' - '  + deck.level for deck in data">
Run Code Online (Sandbox Code Playgroud)

然后将您的过滤器更新为:

$scope.customDeck = function (data) {
    if (data.id === $scope.filterDeck.deckDetail) {
      return true;
    } else {
      return false;
    }
  };  
Run Code Online (Sandbox Code Playgroud)

无论哪种方式都可行.