2014-06-17 15 views
7

Questo tipo di decoratore funziona con i servizi e gli stabilimenti. Mi aspettavo che funzionasse anche con i provider. Ho provato quanto segue per decorare ui-router s' $stateProvider:

app.config(function($provide) { 
    $provide.decorator('$state', function ($delegate) { 
    return $delegate; 
    }); 
}); 

Here's a demo plunk

risposta

2

dovrebbe funzionare lo stesso? See plunk @http://plnkr.co/edit/rSFo1xCoRHjWmrSjJBN1

var app = angular.module('plunker', []); 

app.provider('provider', function() { 
    this.$get = function() { 
    var provider = {}; 
    var value = 'test'; 

    provider.get = function() { 
     return value; 
    } 

    provider.set = function(param) { 
     value = param; 
    } 
    return provider; 
    } 
}); 

app.config(function($provide) { 
    $provide.decorator('provider', function ($delegate) { 
    $delegate.set('delegate'); 
    return $delegate; 
    }); 
}); 

app.controller('MainCtrl', function($scope, provider) { 
    $scope.name = provider.get(); 
}); 
+0

Hmm. grazie. Il tuo esempio mostra che questo problema potrebbe essere specifico per l'ui-router. Ho aggiornato la domanda per renderla più specifica. –

+0

hi @GilBirman, sei riuscito a far funzionare il suggerimento per decorare '$ stateProvider' dal router ui angolare? Ho provato a farlo oggi e sono finito su questa pagina. – schmkr

Problemi correlati