我试图通过$ rootScope公开服务对控制器的响应。$ emit(' name',response.data),但它不起作用。
我的服务:
/**API Post for user login*/
function login(username,password){
return $http.post('/api/login/',{
username:username,
password:password
}).then(loginSuccessFn, loginErrorFn);
function loginSuccessFn(response, status, headers, config){
Authentication.setAuthenticatedAccount(response.data);
window.location = '/';
}
function loginErrorFn(response, status, headers,config){
$rootScope.$emit('errorLogin', response.data);
}
}
我的控制器:
//Catching the Authentication.login errorFNn response.data
$rootScope.$on('errorLogin', function(p){
vm.isSuccess = p;
})
这就是视图中发生的事情:
{"名称":" errorLogin"" targetScope":" $ SCOPE"" defaultPrevented&#34 ;:假," currentScope":空}
有人可以帮助我
答案 0 :(得分:1)
变化:
$rootScope.$on('errorLogin', function(p){
vm.isSuccess = p;
});
要:
$rootScope.$on('errorLogin', function(e, p){
vm.isSuccess = p;
});