2016-07-27 16 views
0

これはよく尋ねられる質問ですが、私の "googleing"スキルが私の望むものを得るのに十分ではないことがわかります。ui.routerがページを表示していない[ネストされたビュー]

だから私は、メインのindex.html

<div class="row" style="margin-top: 70px;" ui-view></div> 

今、私はstudent.html

<div class="col-md-10 col-md-offset-1" ng-controller="Controller_Parent"> 
<div ng-cloak> 
    <md-tabs md-dynamic-height md-border-bottom> 
     <md-tab label="View Profile" ui-view="student.profile"> 
     </md-tab> 
     <md-tab label="View Results" ui-view="student.result"> 
     </md-tab> 
     <md-tab label="View Attendance" ui-view="student.attendance"> 
     </md-tab> 
    </md-tabs> 
</div> 
</div> 

としてのテンプレートURLでビューを持っているng-viewのページを持っていますコードでは、Controller_Aには、それぞれ独自のテンプレートを持つ3つのビュー(サブビューが正しいこと)が必要なことが示唆されています。

ルーティングコードはこれです:私はこのアイデアを動作させるために行う必要がありますどのようなchages

app.config(function($stateProvider, $urlRouterProvider) {  
    $urlRouterProvider.otherwise('/'); 
    $stateProvider 
    .state('home', { 
     url: '/', 
     templateUrl: 'templates/login.html', 
    }).state('student',{ 
     url:'/student', 
     views:{ 
      '@':{ 
       templateUrl: 'templates/student.html', 
      }, 
      '[email protected]':{ 
       templateUrl:'templates/student/profile.html' 
      }, 
     } 
    }); 
}); 

。私はチュートリアルを終えてしまいましたが、残念ながらそれらのどれも類似の作業をしていないか、間違った場所を探している可能性があります。

あなたの入力を待っています。よろしく!

PS:何のJSエラーが

+0

あなたは 'student'に自分の状態を変更すると、UIビューディレクティブ内のネストされたビューの前に付けるべきではないということですか?あなたのhtmlの中でng-controllerを使うのは避けてください。 – krutkowski86

+0

はい。これはダッシュボードページ(student.html)ですので、ログインページを介して学生にリダイレクトされます –

+0

@ krutkowski86 btw学生クラスに抽象度を追加しました。「エラー:抽象的な状態に移行できません」学生 –

答えて

1

をスローされませんがhttps://github.com/angular-ui/ui-router/wiki/Multiple-Named-Views#view-names---relative-vs-absolute-namesを見てください。参照する構文([email protected])にstudent.profileのようなビュー名を混在させているようです。テンプレート内のstudent.を省略してみてください。

また、あなたはあなたの(おそらく共通の親状態で)状態の設定でコントローラの代わりに、直接テンプレート...私はあなたのコードに似てjsfiddleを作ったし、それが作業を行い

+0

ちょうどそれを試してみました。まだ動作しません。私は$ state.transitionまたは何らかの並べ替えを呼び出す必要がありますか? –

1

を登録する必要があります。 主な違いは、あなたがstudent.

http://jsfiddle.net/irhabi/3ozfxmfx/

<md-tab label="View Profile" ui-view="profile"></md-tab> 
<md-tab label="View Results" ui-view="result"></md-tab> 
<md-tab label="View Attendance" ui-view="attendance"></md-tab> 
+0

@ajaegleは同じことを言って、まだ動作しません。表示もエラーもありません。 –

+0

ui-routerエラーを表示するには、これをアプリケーションに追加します。 .run($ rootScope、$ state、$ stateParams){ $ rootScope。$ on( '$ stateChangeError'、console.log.bind(コンソール)); }) – krutkowski86

+0

エラーはありません。 –

関連する問題