2017-06-07 25 views
-1

こんにちは、私はangularjsのWebサイトを開発しています。私はui-routingを使用しています。ユーザーのログイン後に状態をリロードしたい私はindex.htmlとapp.jsを持っています以下は私のapp.jsですAngularjsのコントローラから別のコントローラをリロードする方法は?

var app = angular.module('RoslpApp', ['pascalprecht.translate']); 
app.config(function ($stateProvider, $urlRouterProvider, $translateProvider, $translatePartialLoaderProvider) 
{ 
    $urlRouterProvider.otherwise('/HomePage'); 
    $stateProvider 
    .state('Login', { 
     url: '/Login', 
     templateUrl: 'App/Registration/Login.html', 
     controller: 'Login' 
    }); 
}); 

app.controller('RoslpAppController', ['$scope', function ($scope) { 
var cookieloginid = $cookieStore.get('LoginID'); 
    if (cookieloginid != null) { 
     //This will reoload 
     var id = document.getElementById('ProfileDropdown'); 
     id.innerHTML = $scope.ProfileDropdown = ' <ul>' + 
      '<li><a href="#/userProfile">User Profile</a></li>' + 
      '<li>test1</li>' + 
      ' <li onclick="logout(event)">logout</li>' + 
     '</ul>'; 
     $scope.dp == false; 
    } 

以下は私のログインコードです。

$http.post(url, sub).then(function (response) { 
         setTimeout(function() { 
//Trigger or reload RoslpAppController controller 
LoginSuccess(response); }, 1000); 
        }, function (error) { 
         setTimeout(function() { HideLoader(); }, 1000); 
         toastr.error($filter('translate')(error.data.msg)); 
        }); 

ログインが成功すると、ログインIDが取得され、Cookieに保存されます。 RoslpAppControllerコントローラでは、ログイン時にクッキーが存在するかどうかをチェックしたいと思います。これがどうやってできるのか分かりますか?ありがとうございました。

+1

[Reload AngularJS Controller]の複製(https://stackoverflow.com/questions/26170625/reload-angularjs-controller) –

答えて

0

ログインPOSTコールの後、サーバーから正常に応答するための状態に移行する必要があります。 状態への移行 - $state.go("<statename>",{params},{reload : true})

RoslpAppControllerの状態がない場合は、1を作成してください。 OPのコメントの後

編集:templateUrlで

.state('Roslp', { 
    url: '/Roslp', 
    templateUrl: 'App/Registration/View.html', 
    controller: 'RoslpAppController' 
}); 

ログイン後にロードしたいビューを与えます。 $state.go("Roslp",{params},{reload : true})を使用してください。

+0

ありがとうございました。私はそれがapp.jsファイルにあるので、RoslpAppControllerの状態はありません。どのように私はそれに状態を作成することができます知っているかもしれません? –

+0

私はプランナーを作成しました。 plnkr.co/edit/ZJJZLqJWRPOk4SKlvAa8?p=previewログインが成功したら、コントローラーを再ロードします。RoslpAppController –

関連する問題