当我在子状态的URL中有参数时,如何创建一个将我带到孙子状态的sref?
这里有一些伪代码:
.state( 'foo', {url:'/', template:'<div ui-view></div><a ui-sref="foo.bar.baz(bar: 'bing')">Bing Baz</a>'})
.state( 'foo.bar', {url:':bar',abstract: true, templateURL:'bar.tpl.html'})
.state( 'foo.bar.baz', {url:'/baz', template:'I am a baz, and if you clicked from the foo state, I should be a Bing Baz!'});
答案 0 :(得分:5)
有an example。我们可以这样称呼(我已经删除了摘要以显示更多变体,但中间状态可能是抽象的!只是不能通过URL直接访问):
<a ui-sref="foo">foo</a>
<a ui-sref="foo.bar({bar:'bing'})">foo.bar({bar:'bing'})</a>
<a ui-sref="foo.bar.baz({bar:'bing'})">foo.bar.baz({bar:'bing'})</a>
还有重新定义的状态,它们使用相对统计语法向子状态调用:
$stateProvider
.state('foo', {
url: '/',
template: '<div><h3>I. The foo state</h3>' +
'Child : <a ui-sref=".bar({bar: \'bing\'})">.bar.baz({bar: \'bing\'})</a>' +
'<div ui-view></div>' +
' </div>',
})
.state('foo.bar', {
url: ':bar',
//abstract: true,
template: '<div><h4>II. The foo.bar state</h4>' +
'Child : <a ui-sref=".baz({bar: \'bing\'})">.baz({bar: \'bing\'})</a>' +
'<div ui-view></div>' +
' </div>',
})
.state('foo.bar.baz', {
url: '/baz',
template: '<div><h5>III. The foo.bar.baz state</h5>' +
'<div ui-view></div>' +
' </div>',
});
中查看更多内容