Мне нужно использовать директиву ui-scroll для списка, где список также можно переупорядочить и отсортировать с помощью пользовательской директивы.Но я получаю сообщение об ошибке типа «Отсутствует требуемый контроллер».
«Контроллер« discSortable », требуемый директивой discSortableItem, не может быть найден!», Где disc-sortable-item является директивой, а discSortableэто контроллер, указанный в параметре require для DDO.
HTML:
<ul disc-sortable="disc.properties.engagementWorkpaper.disclosureStepOptions" class="collapsible selectedpane-empty" width="100%" step-type="disclosure" ng-model="disc.properties.engagementWorkpaper.stepsView">
<li disc-scroll-to-selected disc-sortable-item ui-scroll="node in
disc.properties.engagementWorkpaper.datasource"
adapter="disc.properties.engagementWorkpaper.listAdapter.adapter"
buffer-size="10">
</li>
</ul>
discSortableItem Директива:
mainModule.directive('discSortableItem', ['sortableConfig',
function (sortableConfig) {
return {
require: '^discSortable',
restrict: 'A',
controller: 'disclosure.sortable.sortableItemController',
link: function (scope, element, attrs, sortableController) {
....
}
};
}]);
discSortable Directive:
mainModule.directive('discSortable',
function () {
require: 'ngModel', // get a hold of NgModelController
restrict: 'A',
scope: true,
controller: 'disclosure.sortable.sortableController',
link: function (scope, element, attrs, ngModelController) {
....
}
};
}]);
sortableController:
/**
* Controller for Sortable.
* @param $scope - the sortable scope.
*/
mainModule.controller('disclosure.sortable.sortableController', ['$scope', function ($scope) {
this.scope = $scope;
....
}]);