![](/img/trans.png)
[英]Decorating angular exceptionHandler service in Typescript using VS 2013
[英]Decorating a service provider in Angular
我正在開發一個庫,該庫擴展了ui.router
某些功能,用於構建應用程序狀態集。 目前,我在我的庫中定義一個新的提供者來管理這個(我們稱之為enhancedState
)形式:
myApp.provider('enhancedState', EnhancedState);
EnhancedState.$inject = ['$stateProvider'];
function EnhancedState ($stateProvider) {
this.$stateProvider = $stateProvider;
}
EnhancedState.prototype = {
/* fun new methods that wrap $stateProvider */
$get: ['$state', function ($state) {
/* maybe wrap some $state functionality too */
return $state;
}
};
然后,我可以在我的應用程序配置中使用我的enhancedStateProvider
來遵循庫的擴展功能進行有趣的新狀態定義。
但是,我希望直接裝飾$stateProvider
類。 我知道Angular的$provider.decorate()
實用程序,但據我所知,它只能用於裝飾生成的服務實例,而不能用於裝飾提供程序。
有沒有人成功地使用它來裝飾提供程序,或者知道在Angular 1.x中有類似的機制?
謝謝!
您需要AngularJS裝飾器 (查找decorator
方法)。 檢查這個例子。 基於此發布。
例:
app.config(function($provide) {
$provide.decorator('$state', function($delegate) {
$delegate.customMethod = function(a) {
console.log(a);
};
return $delegate;
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.