角度的动态URL

时间:2017-03-07 14:51:32

标签: javascript angularjs angular-ui-router angular-ui

我目前是Angular 1.6和angular-ui / ui-router 我有动态网址的问题,我不知道参数的限制

示例

www.example.com/name/hello/address/telephone/postcode/city/ .... (n)
or
www.example.com/name/hello/school/age/weight/height/...(n)
or
www.example.com/name/hello/friends/family/age/address
从示例网址

我需要使用ui-route来管理该url并从url获取值参数,并且只实现一个状态。

预期结果

let result = [hello,address,telephone,postcode,city, .... (n)];

示例路由(*只有一个状态处理这种情况)

.state('person', {
    url: '/name/:param1/:param2', (which I want to dynamic)
    component: 'person',
    resolve: {
    search:($transition$) {
      return  $transition$.params(); 
    }
   }
})

请建议:)

更新:

我从这个链接找到了一个很好的解决方案

Recursive ui router nested views

1 个答案:

答案 0 :(得分:0)

你可以创建一个接收数组输入并返回状态对象的函数。

function generateState(array){
var url = a.reduce(function(url, item){ return url+":"+item+"/" }, "/name/");
return {
    url: url,
    component: 'person',
    resolve: {
    search:($transition$)=> {
      return  $transition$.params(); 
    }
   }
 }
}

之后,您可以使用$stateProvider

动态注册状态