2017-03-15 22 views
0

現在のプロジェクトでui-routerを使用しようとしています。しかし、どういうわけか、それは、ネストされたビューに来るとき(私は適切かつ正しいことを書いたと思います)、それはビューの内容を示すdoesntの..私はあなたに私のコードをお見せしましょう。..UI-Routerが期待通りに動作しません(ネストビュー!)

.state('sport', { 
    url:'/sport', 
    templateUrl: 'views/sport.html', 
    controller: 'HomeCtrl', 
    controllerAs:'home', 
    requireLogin:false, 
}) 
.state('sport.subs', { 
    url:'/left', 
    parent:'sport', 
    views: { 
    '[email protected]': { templateUrl:'views/partials/left-sidebar.html'}, 
    '[email protected]': {templateUrl:'views/home.html'}, 
    '[email protected]':{templateUrl:'views/partials/sup-nav.html'} 
    }, 
    onEnter:function() { 
    console.log("leftside Entered"); 
    }, 
    requireLogin:false 
}) 

と私のsport.html

<div ui-view="left"></div> 
<div ui-view="content"></div> 
<div ui-view="right"></div> 

それはsport.htmlを開き、その内容を示すが、ビューを入れ子にされていません。..

enter image description here

私はすべてを試みました。私はここのどこかでこの問題について研究していますが、解決策を見つけることができませんでした。どういうわけか、それが何かをブロックしているようなネストされたビューになると、私はすべて間違っています。

デバッグしようとすると、すべてのビューが読み込まれているようです。 enter image description here PS:「親」を削除して追加しました。ほとんどすべてを試しました。

+1

最小限のコードでplunkerを提供してください。この時点で、あなたのコードの多くのものが間違っている可能性があります –

+0

とにかく男、私はあなたの答えを本当に感謝したが、私は解決策を得た。 :) –

答えて

1

大丈夫私は私の問題を解決しました。

私はこれに私のルートコードを変更することで私の問題を解決しました。

.state('sport', { 
url: '/sport', 
controller: 'HomeCtrl', 
views: { 
    '@': { 
    templateUrl: 'views/home.html' 
    }, 
    '[email protected]': {templateUrl: 'views/partials/left-sidebar.html', controller: 'HomeCtrl'}, 
    '[email protected]': {templateUrl: 'views/content.html', controller: 'HomeCtrl'}, 
    '[email protected]': {templateUrl: 'views/right-side-bar.html', controller: 'HomeCtrl'} 
} 

})

と私はサブ状態を追加したい場合は、私はこのようにやっています。 (私は親ルータの右側を変更しています)

.state('eventResult', { 
    parent:'sport', 

    views: { 
    '[email protected]': {templateUrl:'views/event-result-manager.html', controller: 'EventResultManagerCtrl', controllerAs: 'vmEventResultManager'}, 
    '[email protected]': {templateUrl:'views/event-result-manager-right.html', controller: 'EventResultManagerCtrl', controllerAs: 'vmEventResultManager'} 
    }, 
    url:'/event-result', 

    requireLogin:false 
}) 
関連する問題