持つ問題ロードビューには、問題を表示するには - AngularJS + ui.router(更新)別のビューからビューをロードする場合(ビューを表示する)
問題:先のビューを表示するために何を確定するために適切なデータを受信していません。
注:
インデックスui.router使用:
<section ng-if="page.header" ng-class="{'transparent-header': page.transparentHeader}" user-header></section>
<section ng-class="{'transparent-header': page.transparentHeader, 'create-event-back': page.background}" class="sec-full" ui-view></section>
<section ng-if="page.footer" user-footer></section>
ルータ:
.state('LoginPage', {
url: "/login/",
data: {
name: "Login",
header: false,
footer: false,
css: false,
transparentHeader: false
},
templateUrl: "app/partials/common/loginPage.html",
controller: "loginController"
})
ビューに直接ナビゲートします。すべてがうまくロードされますが、ナビゲーションバーを保持する<section>
は、別のビュー(例:ホームビュー>>>>ユーザービュー)からナビゲートすると評価されません(ng-if)。
なぜか分かりません。
この問題が見つかりました。何が起こっているのですか: 制限されたページに移動すると、ログインページにリダイレクトされます。 $状態は制限されたページからデータを取得しています。
これは私がログに得るものです:状態へ
Loiginページ:
Object {name: "Login", header: false, footer: false, css: false, transparentHeader: false}
制限pageto状態:
Object {name: "Your Profile", header: true, footer: false, css: true, transparentHeader: true…}
コントローラ
.controller('appController', ['$scope','$state','$rootScope', function($scope,$state,$rootScope){
//Control header and footer views getting data from router
$rootScope.$on('$stateChangeStart', function(event, toState){
$scope.page = toState.data;
})
}]);
私の質問はそれを防ぐ方法です。
「状態オブジェクトにカスタムデータを添付します」。データを取得していますが、リダイレクトのためにデータが変化しています。私は私の質問を更新します。見てみましょう –