与ui-router的动态链接

时间:2015-08-11 00:28:07

标签: angularjs parameters angular-ui-router state

如何使用ui-router

在angularJs中创建动态链接
char y[] = "Hello World!";
char *x = y;

据我所知,这应该与可用的值一起使用: $ stateParams.visitorId 在控制器中

即使没有包含visitorId,我也需要工作路线。喜欢: www.example.com/8week/myId 和 www.example.com/8week

1 个答案:

答案 0 :(得分:0)

答案在 params : {} 配置及其设置中: squash 。有一些详细的解释和例子:

所以,我们要做的只是提供默认值(可以想法),如果这样的默认值被传递就让它被压扁。否则它将使用传递的值。

.state('8week.visitorId', {
    url:'/8week/:visitorId',
    params: {visitorId : { squash : true, value: null }}
    templateUrl: 'app/8week/8week-page.tmpl.html',
    controller: 'VideoCtrl',
    controllerAs: 'controller'
})

有文档:http://angular-ui.github.io/ui-router/site/#/api/ui.router.state。$ stateProvider

小引用:

  

squash - {bool|string=}: squash配置当前参数值与默认值相同时,URL中如何表示默认参数值。如果未设置压缩,则使用配置的默认压缩策略。 (参见defaultSquashPolicy())

     

有三种壁球设置:

     
      
  • false:参数的默认值不会被压扁。它被编码并包含在URL
  • 中   
  • true:URL中省略了参数的默认值。如果参数在状态的url声明中以斜杠开头并后跟斜杠,则省略其中一个斜杠。这样可以提供更清晰的URL。
  •   
  • &#34; <arbitrary string>&#34;:参数的默认值将替换为您选择的任意占位符。
  •