Ali*_*Ali 14 javascript php laravel angularjs
我正在使用angularjs网站,并且在Rails中使用路由以及在php中使用Laravel.通过Laravel中的路线,我们可以动态创建一组类似于以下的路线:
foreach($cities as $city):
Route::get($city.'/hotels');
Route::get($city.'/{slug}');
endforeach;
Run Code Online (Sandbox Code Playgroud)
在这里,我们定义一系列Laravel单独的路线在技术上做看起来是一样的,除了价值的city和slug.
在这种情况下,我发现angularJS在定义路径时有点受限.坦率地说,我有点迷失在这里.
我在这里做了一些修改 - 基本上我设置了一个服务,它从我的数据库中检索资产,例如在这种情况下的城市和类别列表.我正在尝试这样做:
如果{slug}在我的API中检索的类别数组中,则使用my ListController和list视图,但如果不是,则使用我的SingleVenueController单视图.这是我目前的代码,但它无法正常工作:(
appRouteProvider.when('/:city/:slug', {
templateUrl : function(sharedParams, $routeParams){
t = sharedParams.getCurrentPageType($routeParams);
if(t=='list'){
return '../../app/templates/list.html';
}
if(t=='single'){
return '../../app/templates/single.html';
}
},
controller : function(sharedParams, $routeParams){
t = sharedParams.getCurrentPageType($routeParams);
if(t=='list'){
return 'ListsController';
}
if(t=='single'){
return 'SingleController';
}
},
resolve:{
sharedParamsData:function(sharedParams){
return sharedParams.promise;
},
}
})
Run Code Online (Sandbox Code Playgroud)
在上面sharedParams是一个服务,getCurrentPageType只是检查url slug来决定要发回的控制器 - 但它根本不工作:(
如何使用参数定义单个路径?在angularjs v1.x中,您可以使用尽可能多的参数xor查询定义多个路径
.config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/city/:slug', {
templateUrl: 'book.html',
controller: 'BookController',
resolve: {
// you can also retrieve some data as a resolved promise inside your route for better performance.
}
})
Run Code Online (Sandbox Code Playgroud)
ref:https://docs.angularjs.org/api/ngRoute/service/ $ route
| 归档时间: |
|
| 查看次数: |
475 次 |
| 最近记录: |