![](/img/trans.png)
[英]I have two divs with the same ng-controller in AngularJS, how can I make them share information?
[英]How can I make two pages AngularJS share the same $scope?
我想在我的网站上使用angularJS。 但我想在几页中使用它。
问题是当有人试图访问这些页面时,他们的行为就像两个应用程序,因为$ scope与这些应用程序不同。 但我希望通过共享angularJS的相同内存空间将这些页面用作相同的应用程序。
我怎样才能做到这一点?
完全不同的页面加载是不可能的。
但毕竟$ scope意味着一些数据。 您也希望为其他页面启用该数据。
您可以做的一件事是当您在页面之间切换时,您可以将数据($ scope)传输到另一个页面,并且该应用程序(页面)可以初始化该数据。 然后它将作为共享相同的$范围工作。 但如果您经常在页面之间切换,这将是一个糟糕的方法。
一般答案是否定的。 但,
接收事件的浏览器的正常流程是它执行相应的JavaScript回调。 一旦回调完成,浏览器将重新呈现DOM并返回以等待更多事件。
因此,在重定向到不使用任何此范围或子范围的页面后,垃圾收集器将回收javascript对象(范围模型)。
因此,没有简单的方法可以做到这一点。 除了在重定向页面时传递到新范围的参数。
但是如果你找到了从范围创建者停止$ scope.destroy()调用的方法,并将该DOM链接到另一个页面的$ scope。 从概念上讲这是可能的(但我不知道该怎么做)。 如果你迫切希望在这种方法中使用角度,那么你可以对此进行一些研究。
否则将$ scope参数或$ scope的必填字段传递给另一个应用程序。 那就做你想要的。 但正如@ Simon57所说; 如果你经常在应用程序之间切换,这将是一个糟糕的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.