ui-sref和变量状态参数名称

时间:2014-10-01 14:48:04

标签: angularjs angular-ui-router

我想呈现如下链接:

<a ui-sref="myState({myKey: 'my variable type value'})">

其中州名myState和键myKey是变量。

有没有办法实现这个目标?

6 个答案:

答案 0 :(得分:7)

我发现自己处于相同的情况,我也无法完成这一点,尝试使用ng-click移动代码,并在ng-click函数内部使用$stage.go并传递参数那里,像:

$scope.clickHandler = function(param){
    $state.go('state.name',{myKey:param});
}

答案 1 :(得分:1)

实际上我找到了一个解决方案,所以希望它仍能帮助别人。

&#13;
&#13;
<li ng-repeat="item in array" ui-sref="stateName({param:{{item.key}}})">
     Some content
</li>
&#13;
&#13;
&#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'});
}