角度 ui 路由器动态查询字符串定义

Angular ui-router dynamic querystring definition

本文关键字:字符串 定义 查询 动态 ui 路由器 角度      更新时间:2023-09-26

我们有一个搜索页面,我们有数千个搜索属性,可以通过管理面板定义。特征搜索结果页面具有如下网址:

http://example.com/search?a12=3213&a314=412412&a247=1941829&....

当我们想使用 AngularJS 将该页面实现为 SPA 时 angular-ui-router ,我不明白,我们如何定义该路由配置以及如何从查询字符串中读取所有搜索参数。因为ui-router强制定义路由配置中的每个查询参数可能性,以便在$stateParams中使用它们。

$stateProvider.state('search', {
    url: '/search?a1&a2&a3&a4&a5' // what about a1314?
    controller: function ($stateParams) {
        console.log($stateParams.a1314);
    }
});

你知道解决方法吗?

您可以在搜索路线url: '/search' controller中使用$location.search()

当调用时,它返回当前 URL 的搜索部分(作为对象),没有任何参数。

var searchObject = $location.search();
// => {a12: '3213', a314: '412412'}
console.log(searchObject .a12); //3213

对于您可以使用的路线

 url: '/search*' 

所以它会匹配