在UI-Router1.0.0-alpha.1的最新版本中,Christopher Thielen announced动态参数。根据我的理解,如果param配置为动态,当从控制器更改它时,URL应相应地更改。我尝试了几种方法,但却无法实现。 $ state.params.myParam和$ stateParams.myParam之间似乎没有任何约束力。
有人可以分享一个工作实例,或告诉我它是否确实无效?
由于
答案 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来证明这一点。