私はディレクティブからfactoryを呼び出していますが、ページをリロードした後にスコープは保持されません。私は自分のアプリケーションでログインしても正常に動作していますが、ページをリロードするとスコープは失われます。私は私の指示と工場コードを共有しています。ディレクティブは、Angular Jsでページをリロードした後で工場を呼び出せませんか?
指令
"use strict";
angular.module('app.auth').directive('loginInfo', function(User){
return {
restrict: 'A',
templateUrl: 'app/auth/directives/login.tpl.html',
link: function(scope, element){
User.initialized.then(function(){
scope.user = User
});
}
}
})
工場
'use strict';
angular.module('app').factory('User', function ($http, $q, APP_CONFIG,Rh,$rootScope,RhAuth,$location) {
var dfd = $q.defer();
var UserModel = {
initialized: dfd.promise,
username: undefined,
picture: undefined,
};
UserModel.getInfo=function(){
Rh.one('userbase/users/'+RhAuth.getUserid()).get().then(function(response)
{
UserModel.username = response.username;
UserModel.picture= response.avatar;
dfd.resolve(UserModel)
},
function (error){
dfd.resolve(error);
});
}
return UserModel;
});
login.tpl.html
<div class="login-info">
<span>
<a href="" >
<img ng-src="{{user.picture}}" alt="me" class="online">
</a>
</span>
</div>
をリロードした後、私は絵値を保持します。ページUser.initialized.then(関数(){それは未定義 なっているをリロードした後
。
私は1つのリンクretain angular variables after page refreshを見てきました、しかし、私は私の問題を解決することはできませんよ