2014-12-01 2 views
0

Я пытаюсь показать только одно свойство фильтра. Есть ли способ показать свойство без использования пользовательского метода в моем контроллере? Я имею в виду прямо во взгляде?Есть ли способ показать свойство фильтрованного массива в angularjs-фильтре?

мой order.options массив:

[ 
    {value: '0', text: 'random'}, 
    {value: '1', text: 'names'}, 
    {value: '2', text: 'ages'} 
] 

Мое мнение:

<span>{{order.options | filter:order.value}}</span><!-- I need help here -->       
<select ng-model="order.value"> 
    <option value="{{option.value}}" ng-repeat="option in order.options">{{option.text}}</option> 
</select> 

Если приказами пользователя список путем изменения выбора, я хочу, чтобы показать текст выбранного значения где-то (значение in order.options[INDEX].text)

Например, если пользователь выбирает «случайный» в выборе, случайный показ будет отображаться в диапазоне до выбора.

я должен использовать разные значения и тексты моих вариантов, потому что им приказывать список ряд избранных по значению (whis является свойством элемента списка)

ответ

2

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

 
app.controller('homeCtrl', function($scope) { 
 

 
    $scope.order = { 
 
    options: 
 

 
     [{ 
 
     value: '0', 
 
     text: 'random' 
 
    }, { 
 
     value: '1', 
 
     text: 'names' 
 
    }, { 
 
     value: '2', 
 
     text: 'ages' 
 
    }] 
 
    }; 
 
    
 
    //set default value for selectedOrder 
 
    $scope.selectedOrder = $scope.order.options[0]; 
 

 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app="app"> 
 
    <div ng-controller="homeCtrl"> 
 

 

 
    <span>{{selectedOrder.text}}</span> 
 
    <!-- I need help here --> 
 
    <select ng-model="selectedOrder" ng-options="option.text for option in order.options"> 
 

 
    </select> 
 

 
    </div> 
 
</div>

+0

Спасибо! Я не знал о директиве ng-options: D – Nano

+0

@Nano приветствую :) – sylwester

0

Почему бы не использовать выбранный вариант непосредственно в модельное значение?

<select ng-model="selectedOrder"> 
    <option ng-value="option" ng-repeat="option in order.options">{{option.text}}</option> 
</select> 

Вы можете затем использовать selectedOrder.value и selectedOrder.text независимо друг от друга, непосредственно в поле зрения, без какого-либо метода управления вызовом.

+1

, если я что-то вроде этого 'selectedOrder' содержит значение, но он не имеет каких-либо' selectedOrder.text' свойство – Nano

+0

Извините за опечатку, HTML, было ошибкой. Pls найдет обновленный ответ. –

Смежные вопросы