重新加载页面时控制器间通信失败
Communication between controller fail on page reload
我一直在使用下面的参考来在控制器之间共享$作用域。在xxx.html中使用Controller1,在yyy.html中使用Controller2。
这个工作很好,直到发生了一件事。当我重新加载页面时,服务无法读取前一个控制器的$作用域。这可以用于单个页面中的控制器,但对于我的情况,我为Controller1和Controller2设置了不同的页面。
谁能给我一个解决这个问题的办法?参考服务:app.factory('Scopes', function ($rootScope) {
var mem = {};
return {
store: function (key, value) {
$rootScope.$emit('scope.stored', key);
mem[key] = value;
},
get: function (key) {
return mem[key];
}
};
});
这可能会给您带来更多的工作。
1:第一件事,如果你重新加载页面(浏览器重新加载),你使用angular的方式是错误的。
2: angular应该是单页应用。
3:这里你需要的是在$state改变后共享数据(可能是),如果你使用$state路由,它不会重新加载,但它会改变页面和url。
4:在第三种情况下,您需要将数据存储在$rootScope或$parent $scope中,然后您可以在任何下一个或以前的控制器中使用它。
5:与控制器共享数据的推荐方式有3种服务事件RootScope
我建议你使用服务或事件,如果你需要更多的帮助,请告诉我。
相关文章:
- angularjs 中控制器和指令之间的通信
- 如何在AngularJS中实现控制器之间的通信
- 兄弟姐妹控制器可以在没有父级帮助的情况下相互通信 - AngularJS
- 不同选项卡中控制器之间的 Angularjs 通信
- 指令和控制器之间的双向通信
- 主干网未与导轨控制器通信
- 指令和控制器之间的通信,中间作用域介于两者之间
- Angularjs控制器与不同文件中的另一个控制器通信
- 重新加载页面时控制器间通信失败
- 控制器之间的通信没有事件
- Angular控制器与服务的通信
- AngularJS中控制器和指令之间的通信
- AngularJS:通过服务在两个作用域/控制器之间进行双向通信
- AngularJS从控制器到指令的通信
- 在我的情况下,如何在两个控制器之间进行通信
- AngularJS指令与指令之间的通信抛出控制器未找到的错误
- 控制器之间的通信使用"Controller as"语法
- 如何将全局异步数据存储/通信到控制器
- AngularJS:如何在同一个2个控制器的多个实例之间提供独立的通信
- 用于2个控制器通信的参考存储器