Javascript 为什么ng应用程序不是ng模块?

Javascript 为什么ng应用程序不是ng模块?,javascript,angularjs,Javascript,Angularjs,据我所知,ng app在AngularJS中初始化了一个模块,如下所示: var app = angular.module('myApp', []); <html ng-app="myApp"> var-app=angular.module('myApp',[]); 但当我教给AngularJS新手或观看视频时,讲师不可避免地会对应用程序和模块之间术语的不一致性进行摸索。AngularJS是一个经过深思熟虑的框架,我很惊讶它没有改变为: var app = angular.app

据我所知,ng app在AngularJS中初始化了一个模块,如下所示:

var app = angular.module('myApp', []);
<html ng-app="myApp">
var-app=angular.module('myApp',[]);
但当我教给AngularJS新手或观看视频时,讲师不可避免地会对应用程序和模块之间术语的不一致性进行摸索。AngularJS是一个经过深思熟虑的框架,我很惊讶它没有改变为:

var app = angular.app('myApp', []);
<html ng-app="myApp">
var-app=angular.app('myApp',[]);

var-app=angular.module('myModule',[]);

有人关注该项目足够长的时间来了解框架这一部分的历史吗?

ng app
意思是:该页面中有角


ng app=“module”
表示:该页面中有角度,并且在该模块中定义了必要的控件/服务等。

ng app
定义了应用程序的
引导
模块,该模块应执行应用程序的初始化任务。在某些情况下,您可能需要在运行时决定应用程序的主要模块。与java一样,您有许多方法和类,但您定义了一个
main
方法作为起点。类似地,在angular中,您有许多模块,但是,您将一个模块定义为应用程序的起点。

我不认为Craig在问应用程序的功能是什么,或者它是如何工作的

我想他是在问,为什么创建angular的人要命名这个指令
ng app
。他们为什么不把它命名为ng模块呢<代码>ng模块
更容易理解

例如,
ng控制器
应命名控制器,
ng模块
应命名模块。创建它们的
angular
方法名为
module()
controller()
,没有称为“app”的方法或实体

我倾向于同意克雷格的观点。也就是说,如果我去猜测为什么他们将其命名为
ng-app
,我会认为这是因为您的HTML中只允许有一个
ng-app
指令。如果您想让多个模块与HTML页面关联,可以通过编程实现

因此,
ng app
更像是一个用模块引导HTML的实用工具,它不是将模块与HTML关联的通用方法

如果您查看文档,它会给出以下建议:

使用此指令自动引导AngularJS应用程序。这个 ngApp指令指定应用程序的根元素,并且 通常放置在页面的根元素附近-例如,在 或者标签

每个HTML只能自动引导一个AngularJS应用程序 文件。文档中找到的第一个ngApp将用于定义 作为应用程序自动引导的根元素。运行多个 HTML文档中的应用程序必须手动引导它们 改用angular.bootstrap。AngularJS应用程序不能被删除 相互嵌套


所有这些都表明,如果您想要一个
ng模块
指令,您可以编写自己的指令来包装
angular.bootstrap()
函数。你可以在我写的一篇博文中找到更多关于如何做到这一点的详细信息和代码:

如果有人在视频中声称自己是一个有棱角的教练,并对这部分进行了摸索。。。避开他们!很容易忘记添加它,但约定并不困难。这个问题让我想知道我是否可以自己创建ngModule指令,而不受ngApp的限制。这就是我想到的:好问题。事实上,当我第一次启动时,我只是使用了
ng模块
&我花了一些时间才意识到这是
ng应用程序
<代码>ng模块
会产生误导,使您认为您应该拥有尽可能多的
ng模块
var app = angular.module('myModule', []);
<html ng-module="myModule">