2017-06-09 14 views
0

こんにちは私はAngularjsでWebアプリケーションを開発しています。私はコントローラを再ロードするのが難しいと思っています。私はui-routingを使用しています。私は//plnkr.co/edit/ozojBNobd44SqGeEVvvN?p=preview.にプランカを作成しました。ログインタブがあります。ログインをクリックすると、私のlogin.htmlがレンダリングされます。ユーザーがログインをクリックしたときにユーザー名とパスワードを入力した後、app.jsファイル内のscotchControllerをリロードします。Angularjsで他のコントローラを更新または再ロードするにはどうすればいいですか?

私は$ state.go()とtransitionを含む多くのメソッドを試しました。それらのどれもはうまくいった。私はこれを解決するいくつかの助けを得ることができますか?どんな助けもありがとう。ありがとうございました。

+0

コントローラをリロードする必要がある理由をもう少し説明してください。 ログイン後。あなたのコントローラが依存している特定のページにユーザをリダイレクトする必要があります。そのように。あなたのコントローラは認証後にのみロードされます – aorfevre

+0

ありがとうございます。私はindex.htmlにimageを含むuserprofileタブを持っています。成功したログイン後、私はクッキーを設定します。クッキーの設定時に私はscotchControllerコントローラーをリロードしたい。 –

答えて

3

これを試しましたか?

<div ng-app="myApp" ng-controller="loginCtrl"> 

<button ng-click="doLogin();"></button> 

</div> 


<script> 
var app = angular.module('myApp', []); 
app.controller('loginCtrl', function($scope, $rootScope) { 
function doLogin($scope) { 
// call service and call this on success 
var arrayData = [1,2,3]; 
$rootScope.$emit('someEvent', arrayData); 
} 

}); 
app.controller('scotchController', function($scope, $rootScope,$state) { 
$rootScope.$on('someEvent', function(event, data) { 
console.log(data); 
$state.go($state.current, {}, {reload: true}); 
}); 
}); 
</script> 
+0

ええ、働いていない。 –

+0

ログイン後にコントローラをリロードする理由を教えてください。ロードビューの後に既に初期化されています。 –

+0

ログイン後、いくつかの値がクッキーに設定されます。 scotchControllerコントローラーでif(cookieがイメージを設定している場合)のようなイメージを設定したい –

関連する問題