Как использовать НГ-сортировки во вложенных директив
Привет
Я хочу использовать НГ-сортировки во вложенных директив. Я всегда получаю ошибку: Ошибка: несколько директив [collection, ngSortable] запрашивают изолированную область действия. Возможно ли это вообще ?
Мой код :
<!doctype html> <html ng-app='APP'> <head> <meta name="description" content="Angular Nested recursive directives" /> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js"></script> <!-- AngularJS --> <!-- Sortable.js --> <!-- AngularJS --> <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js"></script> <!-- Sortable.js --> <script src="http://rubaxa.github.io/Sortable/Sortable.js"></script> <!-- ng-sortable.js --> <script src="http://rubaxa.github.io/Sortable/ng-sortable.js"></script> </head> <body> <div> <collection collection="tasks"> </div> </body> </html>
angular.module('APP', ['ng-sortable']) .directive('collection', function () { return { restrict: "E", replace: true, scope: { collection: '=' }, template: "<ul><member ng-repeat="member in collection" member="member"></ul>" } }) .directive('member', function ($compile) { return { restrict: "E", replace: true, scope: { member: '=' }, template: "<li>{{member.name}}</li>", link: function (scope, element, attrs) { var collectionSt = '<collection collection="member.children">'; if (angular.isArray(scope.member.children)) { $compile(collectionSt)(scope, function(cloned, scope) { element.append(cloned); }); } } } }) .controller('IndexCtrl', function ($scope) { $scope.tasks = [ { name: 'Europe', children: [ { name: 'Italy', children: [ { name: 'Rome' }, { name: 'Milan' } ] }, { name: 'Spain' } ] }, { name: 'South America', children: [ { name: 'Brasil' }, { name: 'Peru' } ] } ]; });
JSBIN :
ДЕМО JSBIN
С уважением
Что я уже пробовал:
Обертывание дополнительных элементов div вокруг html-шаблона.