Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在AngularJS中使用$resource在配置(或运行?)期间配置$stateProvider、$urlRouterProvider_Angularjs_Angular Ui_Angular Ui Router - Fatal编程技术网

如何在AngularJS中使用$resource在配置(或运行?)期间配置$stateProvider、$urlRouterProvider

如何在AngularJS中使用$resource在配置(或运行?)期间配置$stateProvider、$urlRouterProvider,angularjs,angular-ui,angular-ui-router,Angularjs,Angular Ui,Angular Ui Router,我想根据从JSON资源读取的一些配置“动态”设置一个角度UI路由器$urlRouterProvider$stateProvider。我试过: .config(function ($stateProvider, $urlRouterProvider, $resource) { 但这不起作用(“未捕获错误:未知提供程序:$resource from mui.jsangularadressbookapp”),因为(我理解)“您只能将提供程序(而不是实例)注入配置块”。于是我试着: .run(func

我想根据从JSON资源读取的一些配置“动态”设置一个角度UI路由器$urlRouterProvider$stateProvider。我试过:

.config(function ($stateProvider, $urlRouterProvider, $resource) {
但这不起作用(“未捕获错误:未知提供程序:$resource from mui.jsangularadressbookapp”),因为(我理解)“您只能将提供程序(而不是实例)注入配置块”。于是我试着:

.run(function ($stateProvider, $urlRouterProvider, $resource) {

但这也不行(“未捕获错误:未知提供程序:$stateProviderProvider我还没有完整的答案,但已经设法在配置时访问ui路由器。主要归功于另一个github问题报告员我关于如何在运行时访问配置的要点也在线程中

此时您只能添加路由,如果您多次尝试添加路由,它将抛出一个错误。很抱歉使用CoffeeScript。目前我仍在寻找异步加载路由的方法

angular.module('app').provider 'RouteConfig',
  ['$stateProvider', ($stateProvider) ->
    # this will configure the routes from the received json
    # using $stateProvider.state() like in app.config
    configurator = ($http) ->
      console.log $stateProvider
    updateRoutes: ->
      configService.get().then (conf) ->
        # add routes here from 'conf'

    @$get = ['configService', (configService, $http) ->
      new configurator(configService, $http)
   ]
  return
 ]

实际上,这可能是Angular UI Router当前的一个限制…注意:(我刚刚遇到了这个项目:它似乎允许运行时路由配置:“允许运行时编辑配置”和“支持通过AJAX从服务器延迟加载/更新定义”