稍后在控制器中使用路由的'resolve'结果?

时间:2014-02-07 16:39:14

标签: javascript angularjs

我是angularjs的初学者。我在路由中有以下角度代码:

  .when('/projectconfig/:projectId', {
  templateUrl: 'views/core/project/project.html',
  controller: 'ProjectConfiguration',
  resolve:{
    projectData: function ($q, $routeParams,ProjectConfiguration, Logger) {
      var deferred = $q.defer();
      ProjectConfiguration.query({projectId: $routeParams.projectId},
                      function(projectData) {
                                  deferred.resolve(projectData);
                      }, function(errorData) {
                                   Logger.log('Problem in resolution data.');
                                  deferred.reject();
                     });
      return deferred.promise;
    }
  }
})

我很欣赏一些提示,以后我可以在属于页面的控制器中使用projectData。

1 个答案:

答案 0 :(得分:1)

您只需将projectData作为参数注入控制器即可。 UI路由器文档has an example(向下滚动到代码块中的'controller:')。然后,您将能够在控制器内的任何位置访问它。