angularjs - 在 angularjs 中如何装饰 $stateProvider Provider?

标签 angularjs angular-ui-router

这种类型的装饰器适用于 服务 和工厂。我希望它也能与供应商合作。我尝试了以下方法来装饰 ui-router 的 $stateProvider :

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

Here's a demo plunk

最佳答案

它应该一样工作吗?见 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();
});

关于angularjs - 在 angularjs 中如何装饰 $stateProvider Provider?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24272711/

相关文章:

angularjs - 剑道下拉列表占位符

angularjs - Ionic 框架模态点击的 Protractor 测试不起作用

javascript - $location 更改不适用于 ngchange 而是 ngclick

javascript - 如何在 Angular ui-router 中的 anchor 单击中启用默认事件

javascript - 如何在单页应用程序中将数据从一个页面传递到另一个页面

angularjs - http ://localhost:3000/#!/为什么我在本地主机链接中得到 "#!/"。

javascript - 无法更新子 Controller 作用域变量

使用相同 url 的不同角色的 Angularjs ui-router 授权和身份验证

javascript - AngularJS 使用子 $state Controller 向父级范围内的对象添加属性

javascript - 在 ui-router 状态之间发送事件