【发布时间】:2014-02-02 17:56:41
【问题描述】:
我正在学习 AngularJS,并假设这是可能的,那么根据 API 调用的结果动态创建路由的最佳方法是什么?
我有一个控制器,它返回一个文件夹数组:
controllers.controller('FoldersCtrl', function($scope, $http) {
$http.jsonp('https://api....=JSON_CALLBACK').then(function (shaggy){
$scope.list=shaggy.data;
});
我见过几个$routeProvider 的例子,它们看起来像这样:
app.config(function ($routeProvider) {
$routeProvider
.when('/somePath', {controller:"SomePathCtrl", templateUrl: "partials/somePath.html" })
.otherwise({redirectTo: "/homePath"})
});
但我还没有遇到过这样的例子:'/somePath' 是从 API 调用的结果派生的。我想做这样的事情:
app.config(function ($routeProvider) {
$routeProvider
.when({{shaggy.data.folder}}, {controller:"FolderCtrl", templateUrl: "partials/folder.html" })
.otherwise({redirectTo: "/homePath"})
});
理想情况下,FolderCtrl 和 partials/folder.html 都将填充足够通用的代码以显示每个文件夹中的对象,因此必须知道我传递给路由的 {{shaggy.data.folder}}。有什么想法吗?
提前致谢。
【问题讨论】:
-
这可能是一个答案? stackoverflow.com/a/13173667/454252
标签: javascript angularjs