Получить значение OrderBy в директиве ng-repeat из атрибута элемента?

#angularjs

#angularjs

Вопрос:

Итак, у меня есть эта директива:

 app.directive('replaceelement', function() {
    return {
        restrict: 'E',
        replace: true,
        scope:true,
        link: function(scope, element, attrs) {
            scope.blockcss = attrs.blockcss;
            scope.sorter = attrs.sorter;

        },
      template:'<div class="{{blockcss}}" ng-repeat="content in something | limitTo:10 | orderByPriority | orderBy:sorter"  ng-include src="blockcss '.html'"></div>'

    }
});
 

Ничего особенного.

Это элемент, на котором он должен выполняться.

 <replaceelement blockcss="cssname" sorter="sortby"></replaceelement>
 

Я запускаю простой ng-click, чтобы изменить переменную, называемую сортировщиком, в моем контроллере.

Orderby не работает с атрибутом сортировщика. У меня такое ощущение, что это потому, что сортировщик является переменной в контроллере, и я не могу вызвать его по имени, переданному из атрибута?

Работал над этим весь день и не могу найти способ это сделать. Кто-нибудь может помочь, пожалуйста?

Спасибо

Комментарии:

1. Можете ли вы предоставить плунжер? Это очень поможет.

Ответ №1:

OrderBy в ng-repeat работает исключительно с массивами. Смотрите здесь https://docs.angularjs.org/api/ng/filter/orderBy

Комментарии:

1. Есть ли у меня способ преобразовать строку в массив внутри link: function?