Angular $ routeProvider resolve解决了创建注入器异常的问题

时间:2013-12-18 16:15:33

标签: angularjs

我已经设置了一个具有相应解析功能的控制器

window.ResolveCtrl = ['$scope', 'resolvedData',
  function ($scope, resolvedData) {
    console.log("RESOLVED:", resolvedData);
  }
];

window.ResolveCtrlResolve = {
  resolvedData: ['Api', '$q', function(Api, $q) {
    var defer = $q.defer();
    Api.someApiCall(function (err, data) {
      if (err) defer.reject(err);
      else defer.resolve(data);
    });
    return defer.promise;
  }]
};

以下是$routeProvider

$routeProvider.when('/example', {
  templateUrl:  "partials/example.html",
  controller: 'ResolveCtrl',
  resolve: ResolveCtrlResolve
});

第一个console.log使用它的内容正确记录resolvedData对象,但是后面紧跟$injector错误:

Error: [$injector:unpr] Unknown provider: resolvedDataProvider <- resolvedData

为什么会这样?

更新:似乎控制器构造函数连续被调用了2次,但我不知道为什么。

0 个答案:

没有答案