2015-11-29 4 views
0

Я пишу Угловое приложение, которое имеет меню, я разделил это следующим образом:нг-повтор положение OrderBy не работает

HTML:

<ul class="nav navbar-nav" ng-repeat="menuItem in menu | orderBy:'position'"> 
    <!-- Home Mega Menu --> 
    <li class="mega-menu"> 
     <a href="index-corporate.html">{{menuItem.testo}}</a> 
    </li> 
    <!-- Shortcode Menu Ends --> 
    <!-- Header Search --> 
    <li class="hidden-767" ng-show="$last"> 
     <a href="#" class="header-search"> 
      <span> 
       <i class="fa fa-search"></i> 
      </span> 
     </a> 
    </li> 
</ul> 

JS:

... 
$scope.menu = [ 
    {testo: 'Home', link: 'index.html', position: 1}, 
    {testo: 'Due', link: 'index.html', position: 2}, 
    {testo: 'Tre', link: 'index.html', position: 3}, 
]; 
... 

Результат выглядит следующим образом: Tre, Due, Home вместо рендеринга по позициям Home, Due, Tre.

Как исправить это?

+0

Использование '-menuItem.position' в аргументе OrderBy – Akxe

+0

Its работает здесь http://plnkr.co/edit/LEDDI0TX6OvKj0gNJrSl?p=preview что это проблема? –

+0

Это работает для меня. Обновите или откройте закрытую вкладку в браузере. – felipsmartins

ответ

1

Просто используйте reverse, как описано в documentation:

<ul class="nav navbar-nav" ng-repeat="menuItem in menu | orderBy:'position':reverse"> 
+0

в его случае OP не нужно упоминать параметр 'reverse', см. Здесь http://plnkr.co/edit/LEDDI0TX6OvKj0gNJrSl?p=preview –

+0

Это работает, но зачем мне отменять заказ? Я положил 1, 2, 3, почему это показывается наоборот? –

+0

О, хорошо. Он работает и для меня (без ': reverse') – sjokkogutten

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