#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?