Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.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
Javascript Angularjs-动态填充$routeProvider_Javascript_Angularjs_Routes_Route Provider - Fatal编程技术网

Javascript Angularjs-动态填充$routeProvider

Javascript Angularjs-动态填充$routeProvider,javascript,angularjs,routes,route-provider,Javascript,Angularjs,Routes,Route Provider,我需要创建动态路由,但我找不到任何可以解释我如何做到这一点的东西 如果我的路由提供程序如下所示: app.config(function($routeProvider) { $routeProvider .when('/', { templateUrl:'/index.php', controller: 'mainCtrl' }) .when('/search/:tags', { templateUrl:'/search/index

我需要创建动态路由,但我找不到任何可以解释我如何做到这一点的东西

如果我的路由提供程序如下所示:

app.config(function($routeProvider) {
$routeProvider
    .when('/', {
        templateUrl:'/index.php',
    controller: 'mainCtrl'
    })
    .when('/search/:tags', {
        templateUrl:'/search/index.html',
        controller: 'searchCtrl'
    })
    .when('/path/one/', {
        templateUrl:'/test/two/partial.html',
        controller: 'testTwoCtrl'
    })
    .when('/path/one/:valueone', {
        templateUrl:'/mickey/mouse/partial.html',
        controller: 'MickeyMouseCtrl'
    })
    .otherwise({
        redirectTo: '/404.html'
    })
});
[
{
    "when": "/",
    "templateUrl": "/index.php",
    "controller": "mainCtrl"
},
{
    "when": "/search/:tags",
    "templateUrl": "/search/index.html",
    "controller": "searchCtrl"
},
{
    "when": "/path/one/",
    "templateUrl": "/test/two/partial.html",
    "controller": "testTwoCtrl"
},
{
    "when": "/path/one/:valueone",
    "templateUrl": "/mickey/mouse/partial.html",
    "controller": "MickeyMouseCtrl"
}
]
如何从保存所需信息的json对象动态生成它,如下所示:

app.config(function($routeProvider) {
$routeProvider
    .when('/', {
        templateUrl:'/index.php',
    controller: 'mainCtrl'
    })
    .when('/search/:tags', {
        templateUrl:'/search/index.html',
        controller: 'searchCtrl'
    })
    .when('/path/one/', {
        templateUrl:'/test/two/partial.html',
        controller: 'testTwoCtrl'
    })
    .when('/path/one/:valueone', {
        templateUrl:'/mickey/mouse/partial.html',
        controller: 'MickeyMouseCtrl'
    })
    .otherwise({
        redirectTo: '/404.html'
    })
});
[
{
    "when": "/",
    "templateUrl": "/index.php",
    "controller": "mainCtrl"
},
{
    "when": "/search/:tags",
    "templateUrl": "/search/index.html",
    "controller": "searchCtrl"
},
{
    "when": "/path/one/",
    "templateUrl": "/test/two/partial.html",
    "controller": "testTwoCtrl"
},
{
    "when": "/path/one/:valueone",
    "templateUrl": "/mickey/mouse/partial.html",
    "controller": "MickeyMouseCtrl"
}
]
我还需要在XHR请求中加载此信息。我想我在找与这首曲调相配的东西。。这是可行的、可能的、可行的吗

app.config(function($routeProvider, $http) {

$http.get('routingdata.json').success(function(data) {
    for ( key in data ) {
        $routeProvider.when( data[key].when, {
            templateUrl:data[key].templateUrl,
            controller: data[key].controller
        })
    }
    $routeProvider.otherwise({
        redirectTo: '/'
    })    
   }
});

将app.config部分移到get函数内部,尽管您可能需要使用纯js或手动获取$http依赖项(或使用jquery ajax)jquery。。我不允许使用、、但我将进一步探讨移动app.config以获取函数的建议。我可以看一些例子吗?我只是又看了一遍你的代码,你真的试过你的代码了吗,对我来说,它应该可以工作了。我一直在处理一个错误。。我要试试这个。。当我将$http注入.config(函数($routeProvider,$http){我后来意识到不能在那里注入$http。或者