当前位置: 首页 > 面试题库 >

Angular JS中的Bootstrapping是什么意思?

笪健
2023-03-14
问题内容

我是Angular JS的初学者。我正在通过下面的链接。
http://docs.angularjs.org/tutorial/step_00

引导文件是什么? 他们在哪里?

什么是自动引导和引导的手动初始化?我从链接http://docs.angularjs.org/guide/bootstrap中阅读了如下所示的手动初始化的缺点。

谁能解释一下这里的缺点是什么?


问题答案:

尽管上面的每个人都回答得很完美,我发现了我要找的东西,但是仍然缺少一个可行的例子。

在理解以下AngularJS中的自动/手动引导时,以下示例将有很大帮助:

AngularJS:自动引导:

当DOMContentLoaded事件或将angular.js脚本下载到浏览器并将document.readyState设置为完成时,Angular会自动初始化/引导。在这一点上,AngularJS寻找ng-
app指令。找到ng-app指令后,Angular将:

  1. 加载与指令关联的模块。

  2. 创建应用程序注入器。

  3. 从ng-app根元素开始编译DOM。

此过程称为自动引导。

<html>

    <body ng-app="myApp">
        <div ng-controller="Ctrl">Hello {{msg}}!</div>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
        <script>
            var app = angular.module('myApp', []);
            app.controller('Ctrl', function($scope) {
                $scope.msg = 'Nik';
            });
        </script>
    </body>

</html>

JSFiddle:http :
//jsfiddle.net/nikdtu/ohrjjqws/

AngularJS-手动引导:

您可以使用angular.bootstrap()函数手动初始化angular应用。此函数将模块作为参数,应在angular.element(document).ready()函数中调用。当DOM准备好进行操作时,会触发angular.element(document).ready()函数。

<html>

    <body>
        <div ng-controller="Ctrl">Hello {{msg}}!</div>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
        <script>
            var app = angular.module('myApp', []);
            app.controller('Ctrl', function($scope) {
                $scope.msg = 'Nik';
            }); 
            //manual bootstrap process 
            angular.element(document).ready(function () { angular.bootstrap(document, ['myApp']); });
        </script>
    </body>

</html>

JSFiddle:http :
//jsfiddle.net/nikdtu/umcq4wq7/

注意 :

  1. 手动引导应用程序时,不应使用ng-app指令。

  2. 您不应该混淆自动和手动引导应用程序的方式。

  3. 如上述示例中所述,在手动引导应用程序之前,请定义模块,控制器,服务等。

参考: http :
//www.dotnettricks.com/books/angularjs/interview



 类似资料:
  • 问题内容: 我看过这样的语法 那双冒号是做什么用的?如果将其删除会怎样? 问题答案: 用于一次性绑定。一旦稳定,即在第一个摘要之后,表达式将停止重新计算。 因此,对所做的任何更新将不可见。

  • Bootstrapping(引导) 是 Netty 中配置程序的过程,当你需要连接客户端或服务器绑定指定端口时需要使用 Bootstrapping。 如前面所述,Bootstrapping 有两种类型,一种是用于客户端的Bootstrap,一种是用于服务端的ServerBootstrap。不管程序使用哪种协议,无论是创建一个客户端还是服务器都需要使用“引导”。 面向连接 vs. 无连接 请记住,这

  • 问题内容: 我是AngularJS的新手,我无法理解AngularJS的功能。有人可以用最简单的方式来说明AngularJS中的功能以及我们可以使用它做什么。请以一种您完全不了解编程知识的方式向您解释。有人还能以最简单的方式逐行解释下面的代码吗? 问题答案: 每个控制器都有一个关联的对象。 控制器(构造函数)功能负责设置模型属性和功能。这只能通过$ scope来完成。无论您在View(HTML文件

  • 问题内容: 我发现此代码段是有人为引导程序模式编写的角度指令的一部分。 我知道这部分是用于绑定到hide.bs.modal事件的两种方式绑定的后半部分,并在UI更改时更新模式。 我只想知道为什么在调用apply之前检查$$ phase的scope和rootScope的人? 我们不能直接打电话吗? 这里的$$ phase是什么? 我尝试了很多搜索,找不到任何好的解释。 问题答案: 是角度处于周期中时

  • 问题内容: 我试图在Python 3.3中使用旧的库(可追溯至2003年!)。当我导入它时,Python抛出错误,因为源文件中有符号,例如: 我猜这是该语言现在被放弃的标志。 它到底是什么意思,我应该用哪个(较新的)符号代替? 问题答案: 这意味着不等于。它取自(python的前身)此处: 订单测试(表示 “不等于” ) 我相信它是从Pascal那里获得的,Pascal是Guido开始使用的语言。

  • 问题内容: 我发现此代码可在此处找到SO中的重复项。但我不明白这条线是什么意思 问题答案: 该运算符是Java中无符号的右移位运算符。它有效地将操作数除以右操作数的幂,或者仅在此处。 和之间的差异仅在移动负数时才会显示。如果运算符是a ,则运算符会将其移位到最高有效位,而无论如何都将移位。 更新: 让我们求平均值和()。我们可以轻松地进行数学运算: 现在,通过代码,涉及到以下这些位: 让我们将“转