控制器总是醒着的吗?

Are controllers always awake?

我想清醒这个词不合适。假设我有一个多页的大型 AngularJs 应用程序。现在不活动的页面的控制器是否处于唤醒状态?例如,如果我想用 $rootScope.$broadcast 调用该控制器的函数,它会监听该信号还是仅在我转到需要该控制器的页面部分时才接收该信号?对不起,如果这没有多大意义。

控制器每次使用都有实例,这意味着 angularJS 仅当某些控制器 在使用中 .

时才会创建某个控制器的实例

如果您需要将数据从一个控制器传递到另一个控制器,常用的方法是使用一些服务。由于服务是在第一次注入时创建的单例。

所以,你可以在一个控制器(页面)中注入一个服务,调用它的一些方法,这将改变它上面的一些数据,然后导航到另一个页面,在这个页面中,注入服务,并使用上面的数据。