我需要一些帮助。
我有angularjs应用程序。它有2个标签。第一个用于查看项目,第二个用于添加项目。我想在第二个选项卡中添加需要的项目后刷新查看选项卡。我知道如何使用
刷新页面window.location.reload();
但我想知道在调用函数时如何刷新其他页面。有没有办法通过点击刷新所有HTML视图?
谢谢。
答案 0 :(得分:0)
不确定我是否完全理解,但似乎您打开了两个浏览器标签(或窗口),并且您希望其中一个影响另一个。
由于它们是分开的,它们还运行两个不同的应用实例,这意味着像scope.$apply()
这样的东西不会影响另一个。{1}}。基本上,您需要从“跨应用程序的通信”切换到“跨域通信”。为此,您可以使用localStorage
(或简单的cookie,数据库,文件等)。
这个想法是一个视图会检查某个会话变量(例如,每两秒),并强制更新并在设置变量时清除该变量。
当然,另一个视图将负责在添加项目后将该变量设置为会话。
这可能是最简单的方法。
如果你想要即时更改和持续沟通,请查看webSockets,但我认为这可能是一种过度杀伤。
见这个简单的例子:
查看:http://jsfiddle.net/1dshqpay/
ADD:http://jsfiddle.net/u7n46Lsk/
它们是两个完全独立的应用/网址,但添加ADD中的项目将显示在VIEW中。
(我无法在这里创建它作为两个片段,因为它们是沙箱并且不支持localStorage)