2014-09-10 16 views
0

我的web应用程序有许多视图(模板),并且没有静态模式仅仅从路由参数组成templateUrl。 考虑到更新路由的灵活性,我将路由表存储在SQL服务器中,并创建一个RESTful Web服务来检索&更新路由模板记录。 但是,在配置期间,我找不到在AngularJS中调用$ http和$ rootScope的方法。

我明白.config在.run之前发生在AngularJS中。在配置中,我们只能访问常量和提供程序。 但是由于我使用的是templateUrl函数,函数体在运行时被调用。 我在想,如果有任何的方式来注入$ http和我templateUrl功能$ rootScope这将在运行短语执行...

angular.module('app', ['ngRoute']).config(['$routeProvider', 

     function ($routeProvider) { 

      $routeProvider. 
        when('/:param1/:param2/:param3', 
        { templateUrl: function(element){ 
         // $http GET routing table from RESTful API 
         // store the table to $rootScope 
         // look up table with param1+param2+param3 as key, get template url 
         return templateUrlFromTable ; 
        }}). 

        otherwise({redirectTo: '/'}); 

     }]) 

我很新的AngularJS,任何其他建议也受欢迎。 另外,如果我的理解错误,请纠正我。 谢谢。

+0

相关:http://stackoverflow.com/questions/15286588/how-to-inject-dependency-into-module-configconfigfn-in-angular – alecxe 2014-09-10 18:04:09

+0

谢谢。从相关文章中,我认为我原来的问题的答案是'不'。我应该在JavaScript文件或服务器路由中使用服务器呈现的路由。 – 2014-09-15 16:38:22

回答