UI-Router1.0中的动态参数

时间:2016-04-02 16:03:41

标签: angularjs angular-ui-router

在UI-Router1.0.0-alpha.1的最新版本中,Christopher Thielen announced动态参数。根据我的理解,如果param配置为动态,当从控制器更改它时,URL应相应地更改。我尝试了几种方法,但却无法实现。 $ state.params.myParam和$ stateParams.myParam之间似乎没有任何约束力。

有人可以分享一个工作实例,或告诉我它是否确实无效?

由于

1 个答案:

答案 0 :(得分:0)

仅更改动态参数是不够的。使用ui-sref$state.go()时,位置会在执行状态转换时发生更改。

当转换到当前状态,其中唯一的更改是定义为动态的参数时,不会重新加载控制器。

示例:

$stateProvider.state({
  name: 'home',
  url: '/home/:dynamicParam',
  template: template, 
  controller: controller,
  params: { 
    dynamicParam: { 
      dynamic: true 
    }
  }
});

使用:ui-sref=".({ dynamicParam: newVal })"$state.go('.', { dynamicParam: newVal })

更改参数

这是由Chris Thielen制作的plunker来证明这一点。