2014-06-17 55 views
7

這種類型的裝飾與服務和工廠。我預計它也可以與提供商合作。我嘗試了以下裝飾UI路由器$stateProvider

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

Here's a demo plunk

回答

2

它應該工作一樣的?看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

嗯。謝謝。你的例子表明這個問題可能是特定於ui-router的。我已經更新了該問題,以使其更具體。 –

+0

hi @GilBirman,您是否設法從角度ui路由器獲取用於裝飾'$ stateProvider'的建議?我今天試圖做到這一點,並在此頁面結束。 – schmkr

相關問題