我有一个关于角度生命周期的简单问题。根据我的经验,无论何时加载新视图(页面),angular都会为其创建一个新的控制器,例如更改状态。而且,每当我尝试刷新页面时,整个模块都会刷新,angular会构建一个新服务。为什么会发生这种情况,有人可以帮助我获得有关角度不同对象生命周期的文档。
答案 0 :(得分:1)
在AngularJs中,所有服务都是单例,这意味着在用户刷新整个页面之前,每次调用服务时,它都是同一个实例。唯一不能以这种方式工作的服务是控制器。每次用户在您的应用程序内导航时都会实例化它们(如果导航到的是与实际不同的控制器,否则,如果两个状态都由同一个控制器处理,它将改变状态。)
但是,您可以创建在每次调用时返回对象的新实例的服务,但是服务本身将是一个单例,在每次调用时返回给定对象的新实例。您可以阅读有关此here
的更多信息