我想呈现如下链接:
<a ui-sref="myState({myKey: 'my variable type value'})">
其中州名myState
和键myKey
是变量。
有没有办法实现这个目标?
答案 0 :(得分:7)
我发现自己处于相同的情况,我也无法完成这一点,尝试使用ng-click移动代码,并在ng-click函数内部使用$stage.go并传递参数那里,像:
$scope.clickHandler = function(param){
$state.go('state.name',{myKey:param});
}
答案 1 :(得分:1)
实际上我找到了一个解决方案,所以希望它仍能帮助别人。
<li ng-repeat="item in array" ui-sref="stateName({param:{{item.key}}})">
Some content
</li>
&#13;
在我的情况下,我使用的是 ui-router 1.0.15 ,所以不确定它是否适用于v1.0.x之前的版本
答案 2 :(得分:0)
How to pass parameters using ui-sref in ui-router to controller
这里问了类似的问题。他的解决方案是设置一个执行路由的状态,然后通过触发所需URL的ui-sref将params传递给该状态
答案 3 :(得分:0)
document({id:document.id})
如果您的州是文件/:id
答案 4 :(得分:0)
我认为最简单的解决方案是
<button ui-sref="myState({mykey:vm.key})"> Link </button>
其中vm.key是从控制器传递的值。这避免了在答案中使用的额外javascript。它与接受的答案非常相似,但变量按原样用于html标记,而不创建处理程序。
答案 5 :(得分:0)
不支持动态ui-sref
,但我找到了使用the href method of the $state service生成链接的建议:
<a href="{{ctrl.url(myState, myKey)}}>
url = function(myState, myKey) {
return $state.href(myState, {myKey: 'my variable type value'});
}