javascript – 在Angular 2的上下文中“bootstrapping”是什么意思?

This question与我自己非常相似,但我相信不同(版本2)值得另一个.

具体来说,调用bootstrap()在Angular 2应用程序中做什么?你能用简单的语言解释一下(比如我5岁)吗?

Lil背景

Angular 2 Quickstart包含以下main.js

(function(app) {
  document.addEventListener('DOMContentLoaded',function() {
    ng.platformBrowserDynamic.bootstrap(app.AppComponent);
  });
})(window.app || (window.app = {}));

我得到了什么:

我很了解这段代码.我理解了范围和事件监听以及所有这些,并且我理解引导是通过各种库之一执行的,具体取决于应用程序运行的环境,这很酷.

我没有:

没有解释的是,引导(第3行)正在为我的应用做什么.我在其他环境中听说过它是在嵌入式系统上运行以收集所有所需资源的第一件事,我理解如何在Angular 1应用程序中使用它,但我从来没有必要调用这样的引导函数.

它只是将后端附加到webapp中的DOM吗?如果是这样,它会在其他情况下做什么?

最佳答案
引导()

bootstrap()初始化Angulars区域,Angular本身,依赖注入器(DI)和路由器(如果使用).
然后它创建根组件并将其添加到DOM.通过创建根组件,它还必须创建其所有子组件和后代组件.

Angulars区域补丁几乎所有异步API,如addEventListener(),setTimeout(),…,以便在发生此类事件时收到通知,或者更好地在事件处理程序调用这些事件时完成.这是Angular运行其更改检测以检查模型是否已更改并且需要传播更改并且需要更新视图的时间.

没有特别的后端

Angular对后端没有任何特殊处理.如果有需要加载的资源,则会请求获取这些资源,但除了普通的HTTP Web服务器之外没有特殊的后端.

WebWorker

如果您使用WebWorker,那么基本上有两个自动引导的Angular应用程序.
然后,大多数代码和更改检测在WebWorker中运行,而另一个应用程序在更新DOM的UI线程中运行.这两个应用程序使用消息传递通信.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)