【发布时间】:2014-12-12 00:20:37
【问题描述】:
我正在使用装饰器扩展第三方指令。我想访问我在装饰器中的一个工厂。我该怎么做?
$provide.decorator( 'multiSelectDirective', function( $delegate ) {
var directive = $delegate[0],
link = directive.link;
// wipe out the shitty template
directive.template = '';
// make with the new template!
directive.templateUrl = 'app/partials/filters.template.html';
// hook into the compile phase of the directive
directive.compile = function( ) {
// the function returned by compile is the new link function
return function( $scope, el, attrs ) {
// run the original link function.
link.apply(this, arguments);
$scope.filterClicked = function( buttonName, selection ) {
handleFilterClick( buttonName, selection, JiraData, GreyGooseApi );
}
}
};
return $delegate;
});
【问题讨论】: