在我的Angular应用程序中,我显示了一个清单项目列表。在此页面上,有一个窗体可以过滤或执行搜索。此表单提交到当前路由模板/页面的相同url,但在url中追加get参数以执行过滤/搜索。即/#/库存,和/#/库存?关键字= widgetname在AngularJS路由URL中获取参数
下面是基本路线...
myApp.config(function($routeProvider) {
$routeProvider
.when('/inventories', {
templateUrl: '/inventories.html',
controller: 'inventoriesController'
})
});
我知道我可以做类似下面的具有可变的路线的例子参数如/#/存货/ 12为特定的库存资源,像这样......
.when('/inventories/:inventory_id', {
templateUrl: function(params) { return '/inventories/' + params.inventory_id + '.html'},
controller: 'inventoryController'
})
但我想对于像/#/库存的路线呢?关键字= widgetname什么&仓库= 1 & min_qty = 5其中包含我所有的滤镜参数rs中的url字符串?如何在路由中容纳url GET参数?
我想这样的事情,但没有工作...
.when('/inventories?:get_params', {
templateUrl: function(params) { return '/inventories?' + params.get_params},
controller: 'inventoryController'
})
我知道,我可以尝试使用$ HTTP服务,并通过在范围搭售结果的阵列的使用JSON工作ng-repeat或类似的东西,但我宁愿只重新获取从url过滤的结果返回的模板。这可能吗?
您可以像'/ inventory /:inventory_id /:keywords /:warehouse /:min_qty'那样在路线中添加一些参数,以便仅使用params就可以访问相同的参数 –