场景:我有一个使用Google身份验证的AngularJS应用。
取决于资源,当Angular调用(my)后端时,它可以返回一个请求Oauth令牌的响应。 在这种情况下,Angular将显示带有该重定向URL的弹出窗口(不是Bootstrap的模态对话框)。
Google会进行身份验证,请求获得许可,然后将用户发回给我。 有一个回调URL将处理'代码'并获得真正的令牌。这个callbak URL将在弹出窗口中调用。
当我获得令牌时,弹出窗口应自动关闭,并通知Angular再次尝试最后一个请求(现在我在用户的会话中有令牌)
问题:弹出窗口如何发出Angular事件?
实际上,它不一定是$rootScope.$emit
,而只是一种通知Angular的方式。
我看到了this option,但对Angular来说似乎并不好:(
答案 0 :(得分:0)
您可以使用localStorage活动,看一下这个演示:http://html5demos.com/storage-events
option
答案 1 :(得分:0)
首先创建服务。
app.service("servicee", function(){
return {
set : function(k,v){
this[k] = v;
},
get : function (k){
return this[k]
}
}
});
现在,在弹出窗口中,您可以在服务中设置令牌,现在您可以通过应用程序获得值。您还可以$查看服务中的特定键,并在设置值时执行某些操作。