我有一个JSON文件,其中包含页面的路由详细信息。如何为Angular视图创建动态路径?
答案 0 :(得分:0)
路由是通过$routeProvider的API定义的。提供程序仅在配置阶段可用。这意味着,在配置路由时,您无法执行http请求以从服务器获取数据,例如具有路由配置的JSON文件。
我可能会建议您将JSON文件转换为角度常量。
// route.constants.js
angular
.module('app')
.constant('ROUTES', [
{url: '/some-url', templateUrl: '/path/to/template.html', controller: 'MyCtrl'},
...
]);
由于常量在配置阶段可用,您可以将ROUTE
注入.config()
。然后,您可以迭代ROUTES
数组中的项目并配置$routeProvider
:
// route.config.js
angular
.module('app')
.config(['$routeProvider', 'ROUTES', function($routeProvider, ROUTES) {
ROUTES.forEach(function(route) {
$routeProvider.when(route.url, {
templateUrl: route.templateUrl,
controller: route.controller
});
});
}])