我想使用UI-Router将参数传递给ui-sref
。通常它会是这样的:
ui-sref="example.state({param: value})"
但是,在我的控制器中,我将路径设置在一个对象数组中,如:
self.dynamicId = $stateParams.id;
self.menu = [
{
label: 'Example1',
route: 'example.state1',
stateName: 'state1'
},
{
label: 'Example2',
route: 'example.state2',
stateName: 'state2'
}
];
如何使用模板中的Angular表达式传递dynamicId
参数?
<div ng-repeat="link in menu">
<a ui-sref="{{ link.route }}"></a>
</div>
现在我正在硬编码州名,这有点违背了使用ui-sref
的目的:
<a ui-sref="example.{{stateName}}({id: dynamicId})"></a>
答案 0 :(得分:1)
我想说,这里讨论类似的问题
简而言之(检查the working plunker) - 我们可以结合使用自然Angular
和UI-Router
功能:
注意:这适用于定义为 url 的一部分的参数(不仅仅是params : {}
- 没有网址表示)
链接看起来像这样:
<a ng-href="{{$state.href(myStateName, myParams)}}">
我建议您使用this plunker进行操作,以查看其实际效果。
答案 1 :(得分:0)
我认为现在不可能。看看this issue。一种解决方案是使用stateName
和dynamicId
使用$state.href
预先计算网址,如果在您的方案中可行的话。