Javascript 如何使两个页面AngularJ共享相同的$scope?
我想在我的网站上使用angularJS。但我想在几页中使用它 问题是,当有人试图访问这些页面时,它们的行为就像两个应用程序一样,因为$scope与这些应用程序不同。但我想通过共享angularJS的相同内存空间,将这些页面用作同一个应用程序Javascript 如何使两个页面AngularJ共享相同的$scope?,javascript,angularjs,Javascript,Angularjs,我想在我的网站上使用angularJS。但我想在几页中使用它 问题是,当有人试图访问这些页面时,它们的行为就像两个应用程序一样,因为$scope与这些应用程序不同。但我想通过共享angularJS的相同内存空间,将这些页面用作同一个应用程序 我该怎么做呢?完全不同的页面加载是不可能的 但毕竟$scope意味着一些数据。您还希望为其他页面启用该数据 您可以做的一件事是,当您在页面之间切换时,您可以将数据($scope)传输到另一个页面,并且该应用程序(页面)可以初始化该数据。然后它将像共享相同的$
我该怎么做呢?完全不同的页面加载是不可能的 但毕竟$scope意味着一些数据。您还希望为其他页面启用该数据 您可以做的一件事是,当您在页面之间切换时,您可以将数据($scope)传输到另一个页面,并且该应用程序(页面)可以初始化该数据。然后它将像共享相同的$scope一样工作。
但如果您经常在页面之间切换,这将是一种糟糕的方法 一般答案是否定的。但是 浏览器接收事件的正常流程是执行相应的JavaScript回调。回调完成后,浏览器将重新呈现DOM并返回等待更多事件 因此,在重定向到不使用任何$scope或子scope的页面后,垃圾收集器将回收javascript对象(作用域模型) 所以,没有简单的方法可以做到这一点。页面重定向时传递到新作用域的参数除外 但是如果您找到方法停止scope creator的$scope.destroy()调用,并将该DOM链接到另一个页面的$scope。从概念上讲,这是可能的(但我不知道怎么做)。如果你不顾一切地想在这种方法中使用angular,那么你可以做一些研究 否则,将$scope参数或$scope的必填字段传递给其他应用程序。你想怎么做就怎么做。但正如@Simon57所说;如果你经常在应用程序之间切换,这将是一个糟糕的方法
更多信息:它们是完全不同的页面(整页加载)吗?如果不使用任何存储(localStorage),就不可能实现,因为当您在页面之间导航时,浏览器会重新创建javascript对象(javascript对象不能在页面加载之间共享)。如果您不介意切换,有一个名为的库,它可以做您想要的事情,跳到视频中的2:00。