javascript - Angular 的某些部分是否会被逐页销毁并重新创建?

标签 javascript angularjs

当您从一个页面移动到另一个页面时,Angular 的某些部分(如 Controller 、服务、模板等)是否会被销毁并重新创建?

或者它们是在需要时创建的并且从未被销毁?

或者它们都是在第一次加载应用程序时初始化的吗?

Angular 应用及其组成部分的生命周期是怎样的?

最佳答案

在此处将页面定义为单个路由,并将应用程序定义为所有路由的组合。

Controller 每次通过路由或使用 ngController 注入(inject)到某些东西中时都会被实例化。每次访问页面时,您都会获得一个新页面,因此您存储在其中的数据将在页面更改之间消失。

services 是单例,因此仅在第一次实例化,然后在应用程序的整个生命周期中持续存在,当网站本身刷新或用户冲浪时结束。 工厂未实例化,因此它们也可用于持久数据。

模板不是实例,它们只是针对作用域变量进行解析的 html。

关于javascript - Angular 的某些部分是否会被逐页销毁并重新创建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24471389/

相关文章:

javascript - AngularJS w/Flask 后端,表示从后端传递的数据

javascript - 在 ng-repeat 中实现 ng-style

javascript - Ajax 发布方法不起作用

JavaScript 数组 : remove element contained in array inside array

javascript - 通过 $_GET 将 URL 变量传递给 Javascript

javascript - 如何显示来自外部站点的 HTML 元素

javascript - 在 Angular 中的 dom 元素上使用两次 ng-controller

javascript - 一个用于多个文本框的 asp.net 验证器

javascript - 配置 AngularJS 忽略旧版本的 jquery

angularjs - 无法读取null的属性'$$ nextSibling'