Angularjs 在执行angular.bootstrap之前,是否需要创建angular模块?
我见过两种启动AngularJS的不同方式:Angularjs 在执行angular.bootstrap之前,是否需要创建angular模块?,angularjs,Angularjs,我见过两种启动AngularJS的不同方式: ng app=“TodoApp” angular.bootstrap(angular.element(“body”)[0],“TodoApp”] 首先,有人能告诉我这两者是否相同吗 我还看到以下代码: var TodoApp = angular.module('TodoApp', ['ngResource']); 在发出angular.bootstrap命令之前,是否必须加载上面的代码 这两行代码是相同的(假设您的主体元素上有ng应用程序) 您
- ng app=“TodoApp”
- angular.bootstrap(angular.element(“body”)[0],“TodoApp”]李>
var TodoApp = angular.module('TodoApp', ['ngResource']);
在发出angular.bootstrap命令之前,是否必须加载上面的代码
主体元素上有ng应用程序)
ng:app
指令的元素将成为AngularJS应用程序的“根”(这是连接$rootScope
的地方)
[使用ng:app]Angular在DOMContentLoaded事件发生时自动初始化
*虽然ng:app
的使用方式与其他指令类似,但它不是ng
模块的一部分,并且它的定义方式与其他角度指令的定义方式不同。
角自举
另一方面,通过手动引导,您可以在同一页面内初始化多个不同的Angular应用程序
需要执行此操作的示例包括使用脚本加载程序或在Angular编译页面之前需要执行操作。
因此,如果您想使用脚本加载器(如RequireJS),那么在RequireJS runner方法中,您需要通过调用angular.bootstrap(…
)来初始化angular应用程序
Angular.bootstrap命令允许您将模块依赖项指定为第二个参数。
该函数的签名为:
angular.bootstrap(元素[,模块]);
如果要手动引导应用程序,则必须在依赖项数组中指定主angular模块的名称(angular.bootstrap调用的第二个参数):
此外,手动引导允许您在初始化angular应用程序之前在angular应用程序外部进行一些预处理和配置。
装载顺序
回答问题的第二部分:是的,在调用angular.bootstrap
之前,您需要加载并执行模块
angular.module('TodoApp', ['ngResource']);
angular.bootstrap(document, ['TodoApp']);
angular.module('TodoApp', ['ngResource']);
angular.bootstrap(document, ['TodoApp']);