2015-05-16 1 views
0

я пытался отобразить некоторое содержимое с помощью ng-switch:Как использовать нг-переключатель в angularjs

<div ng-app ng-controller="ctrl" > 
    <div ng-repeat="list in statusList"> 
     <p ng-switch on="list"> 
     <span ng-switch-when="incorrect"> 
     i am incorrect 
     </span> 
     <span ng-switch-when="stuff"> 
     i am stuff 
     </span> 
     <span ng-switch-when="wrong"> 
     i am wrong 
     </span> 
     <span ng-switch-default> 
     Correct 
     </span> 
     </p> 
    </div> 
</div> 

контроллер

function ctrl($scope){ 
    $scope.statusList=["incorrect","wrong","stuff"]; 
} 

Получение вывода, как это:

я неверно

Я ошибаюсь

я материал

Но мне нужен выход для отображения того, что я указал. т.е.

я неправильно
я вещи
я ошибаюсь

Как я могу это сделать, и один важный момент, мы не должны изменить порядок управления.

+0

** нг-включение, когда ** выполняется на основании ** нг-повтора ** заказа. так как вы можете догадаться об этом виде продукции?. – Hardy

+0

Спасибо за ответ @ Харди. Как я могу получить этот вывод, любые идеи? пожалуйста, помогите мне – stackoverflow

ответ

0

Вы можете создать собственный заказ по функциям, что-то вроде this.

<div ng-repeat="list in statusList | orderBy:myValueFunction"> 

Вы можете заказать его в алфавитном порядке (с фильтром), но я бы не рекомендовал, потому что вы, вероятно, добавить новый элемент, не упорядоченный по алфавиту.

0

ng-repeat Итерация использует ваш список. Вы можете либо задать пользовательский фильтр, чтобы упорядочить список, как вы хотите или использовать другой подход:

Определяет «содержит» фильтр, возвращая true если массив содержит элемент:

.filter('contains', [function() { 
    return function(array, element) { 
      return array.indexOf(element) > -1; 
    } 
}]) 

Используйте ng-ifs для ваших шаблон (без повтора):

<div ng-if="statusList | contains : 'incorrect'">i am incorrect</div> 
<div ng-if="statusList | contains : 'stuff'">i am stuff</div> 
<div ng-if="statusList | contains : 'wrong'">i am wrong</div> 

Таким образом, вы можете определить, какой заказ вы хотите иметь.

Plunkr: http://plnkr.co/edit/yaYodJAVCVQ55KbOrf3A?p=preview

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

  • Нет связанных вопросов^_^