Как вернуть только одну директиву между двумя почти идентичными в AngularJS?
Как мне включить только одну директиву из двух одинаковых, если одна имеет устаревшие функции, а другая не является устаревшей?
- Устаревший не может быть удален (файл удален).
- Я помню, что был способ получить все директивы с одинаковыми именами и вернуть их массив, позволяющий мне выбирать, какие из них следует вернуть, но я больше не могу его найти.
var app = angular.module('myModule');
app.directive('myDirective1',
// returns all the needed things;
);
app.directive('myDirective1',
// returns all the needed things, plus some additional stuff;
);
Как вернуть / зарегистрировать только первый myDirective1 без второго?
1 ответ
Нашел способ
.config(['$provide', function ($provide) {
// Returns the second registered uiGridOdataDirective from module,
// so we dont call the same functionality twice.
$provide.decorator('uiGridOdataDirective', ['$delegate', function ($delegate) {
return [ $delegate[1] ];
}]);
}]);