я сделать собственную директиву с изолированной сферы и получить данные также в этой директиве, но теперь мой фильтр и OrderBy не работает вот моя директива:Как использовать фильтр и orderby с изолированной директивой?
<div my-data remoteurl='url' filter='test'>
</div>
Контроллер:
(function() {
'use strict';
var myApp = angular.module('myApp', [])
.controller('myAppCtrl', ['$scope', '$http', function($scope, $http) {
$scope.url = 'https://www.reddit.com/r/worldnews/new.json';
$scope.filter= 'test';
$scope.orderBy= 'sortExpression';
}])
.directive('myData', ['$http', function($http) {
return {
restrict: 'A',
scope: {
remoteurl: '=',
filter: '=',
orderBy: '='
// orderBy:'sortExpression':'order' ;
},
templateUrl: 'DataTable.html',
link: function(scope, element, attr) {
$http.get(scope.remoteurl)
.success(function(response) {
scope.names = response.data.children;
});
}
};
}]);
}) ();
DataTable.html
<ul>
<li >
<table width="80%" id="dataTable" align="center" name="table1">
<tr>
<td><strong>Title</strong></td>
<td><strong>Link</strong></td>
<td><strong>Score</strong></td>
</tr>
<tr ng-repeat="x in names |filter:test|orderBy:sortExpression:order ">
<td id="title"><a ng-href="{{ x.data.url}}">{{x.data.title}}</a></td>
<td ><a ng-href="{{ x.data.url}}">Link</a></td>
<td>{{x.data.score}}</td>
</tr>
</table>
</li>
Я передаю все параметры, но только URL работает фильтр и OrderBy не работают кто может исправить меня?
Я предполагаю, что ваш тр должен выглядеть следующим образом: '<тр нг-повтора = "х в названиях | фильтр: фильтр | OrderBy: OrderBy">'. Попробуйте. В следующий раз было бы лучше, если бы вы могли подготовить Plnkr, чтобы другие могли непосредственно исследовать код. См. [Http://plnkr.co] (http://plnkr.co) -> Новый -> Угловой 1.x – ilmgb
@ilmgb его работающий, но как можно делать asc и desc? – Hassan
См. Угловые документы на странице [https://docs.angularjs.org/api/ng/filter/orderBy](https://docs.angularjs.org/api/ng/filter/orderBy). В нем указано: «Выражение может быть необязательно префикс + или - для управления возрастающим или убывающим порядком сортировки (например, + name или -name). Если свойства не предоставлены (например,« + »), то сам элемент массива используется для сравнения, где сортировка. " – ilmgb