2015-10-15 79 views
1

我有一些狀態路由,如:AngularJS UI路由器連接到與URL參數國家其間的狀態

.state. ('home', { ... }) 

.state('home.company', { 
    url: 'company/{ID:int}', 
    abstract: true, 
    template: '<ui-view/>' 
}) 

.state('home.company.list', { 
    url: '/list', 
    views: { ... } 

我想用這樣的:

ui-sref="home.company({ ID: id }).list" 

導航到國家。但它不起作用。我也試圖做以下事情:

ui-sref="home.company.list({ ID: id })" 

這也行不通。任何提示如何讓它工作?

P.S.它會工作,如果我用:

$state.go(route, { ID: id }); 

state'home.company.list'。但這不是我目前想要實現的。

P.P.S 這裏是我的錯誤:

Error: Invalid state ref 'home.company({ ID: id }).list>

回答

2

a working plunker

上述狀態似乎是確定。我只是調整了他們一點,它正在工作。爲家鄉

    • 增加了URL高清轉換<ui-view />多見,並支持<div ui-view=""></div>

    以下是摘錄

    $stateProvider 
        .state('home', { 
         template: '<div ui-view=""></div>', 
         url: "/home" 
    
        }) 
        .state('home.company', { 
         url: 'company/{ID:int}', 
         abstract: true, 
         template: '<div ui-view=""></div>', 
        }) 
    
        .state('home.company.list', { 
         url: '/list', 
         views: { 
         '': { 
          templateUrl: 'tpl.html', 
         } 
         } 
        }) 
    

    這些都是做什麼預期鏈接

    <a ui-sref="home.company.list({ ID: 1 })"> 
    <a ui-sref="home.company.list({ ID: 22 })"> 
    

    檢查它here

  • +0

    感謝您的迴應,但您的解決方案不幸對我無效。我嘗試了Comodo Dragon,IE和最新的Mozilla中的鏈接。 –

    +0

    好吧,我應該「解決」所有問題並使其成爲標準......就像我現在這樣做了。檢查我的擴展答案,並更新plunker。它現在應該可以在任何瀏覽器中使用(經過測試的IE,Chrome ...) –

    +0

    現在它工作正常。謝謝。我儘可能將您的帖子標記爲答案。 –