gpt4 book ai didi

javascript - AngularJS 路由 URL 中的 GET 参数

转载 作者:行者123 更新时间:2023-12-03 09:19:03 28 4
gpt4 key购买 nike

在我的 Angular 应用程序中,我显示了库存项目列表。在此页面上,有一个用于过滤或执行搜索的表单。此表单提交到当前路由模板/页面的相同 url,但在 url 中附加 get 参数以执行过滤/搜索。即/#/inventories 和/#/inventories?keywords=widgetname

这是基本路线...

myApp.config(function($routeProvider) {
$routeProvider

.when('/inventories', {
templateUrl: '/inventories.html',
controller: 'inventoriesController'
})
});

我知道我可以对具有可变参数(如/#/inventories/12)的路线执行如下示例所示的特定库存资源,如下所示...

.when('/inventories/:inventory_id', {
templateUrl: function(params) { return '/inventories/' + params.inventory_id + '.html'},
controller: 'inventoryController'
})

但是对于像/#/inventories?keywords=widgetname&warehouse=1&min_qty=5 这样在 url 字符串中包含我的所有过滤器参数的路由我该怎么办?如何在路由中容纳 url GET 参数?

我尝试过类似的方法,但不起作用......

.when('/inventories?:get_params', {
templateUrl: function(params) { return '/inventories?' + params.get_params},
controller: 'inventoryController'
})

我知道我可以尝试使用 $http 服务并通过将范围上的结果数组绑定(bind)到 ng-repeat 或类似的东西来使用 json,但我宁愿只重新获取带有过滤结果的返回模板网址。这可能吗?

最佳答案

您应该能够像常规路由参数一样从 params 属性访问查询参数。如果您有 URL /inventories?keywords=widgetname,则 params.keywords 的值应为 'widgetname'

我写了一个fiddle来证明这一点。我仅使用 template 进行了测试,但我确信它与 templateUrl 的工作原理相同。

关于javascript - AngularJS 路由 URL 中的 GET 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31893351/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com