2014-06-20 52 views
2

如何創建一個sref,將帶我到一個孫兒狀態,當我有一個參數在兒童狀態的URL?ui路由器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!'}); 

回答

5

an example。我們可以這樣調用(我已經刪除了抽象表現出更多的變種,但中間狀態可以是抽象的只是沒有通過網址直接訪問!)

<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>', 
    }); 

查看更多在plunker

+0

在我的非僞,我是不是正確轉義,我是代表,酒吧變量:'兵」。看看你的代碼,它和我的僞代碼大致相同,但是我意識到了我的錯誤。 –

+0

Yeap,這些隱藏的拼寫錯誤;)用'ui-router'祝你好運... –

相關問題