AngularJS模块的工作原理是什么?

时间:2017-09-18 04:01:38

标签: javascript angularjs

我的问题是关于angularJS模块如何工作

我使用AngularJS编写了一小段代码,我无法理解以下内容。

包含角度js但不包含注册模块

我包含angularJS但从未在模块中注册过。它给了我错误的输出。

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="myapp">

    <div>

        <p>{{1+2}}</p>
    </div>

</body>

包括angularJS并注册模块

现在,当我用模块注册角度应用程序时。它运行并提供正确的输出。

 var app = angular.module('myapp', []);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="myapp">

    <div>

        <p>{{1+2}}</p>
    </div>

</body>

我的问题是......

  1. 角度如何与模块一起使用?

  2. 每次使用我的模块时是否需要注册?

  3. AngularJS模块的深层概念是什么?

2 个答案:

答案 0 :(得分:0)

什么是模块? 您可以将模块视为应用程序不同部分的容器 - 控制器,服务,过滤器,指令等。

为什么呢? 大多数应用程序都有一个主要方法,可以实例化并将应用程序的不同部分连接在一起。

AngularJS应用没有主要方法。相反,模块以声明方式指定应如何引导应用程序。这种方法有几个优点:

  • 声明性过程更容易理解。
  • 您可以将代码打包为可重复使用的模块。
  • 模块可以按任何顺序(甚至并行)加载,因为 模块延迟执行。
  • 单元测试只需要加载相关模块,这样可以使它们保持快速。
  • 端到端测试可以使用模块覆盖配置。

More on angular module

答案 1 :(得分:0)

AngularJs非常棒。我上周一刚开始学习它。获取基本概念并不困难,但不可否认的是,到目前为止我唯一的经验是从API调用的结果创建一个引导菜单。

针对您的具体问题:

  1. 您可以在单独的js文件中创建应用程序,然后将其作为脚本加载到html中。例如,您在index.html/src/myTestApp.js的子目录中创建了一个文件,然后将其加载到index.html中使用(在这里似乎无法转义代码... )script src =&#34; /src/myTestApp.js"&gt;
  2. 基本上,

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

    初始化您调用app的基本AngularJs模块。

    1. 您需要注册所需的每个模块,但之后如果它在同一$范围内,您可以随时调用它。我认为这称为依赖注入。

    2. AngularJs是一个用于前端Web开发的JavaScript框架。它在创建单页面应用程序(SPA)方面表现尤其出色。它使用模型视图控制器概念,您可以在其中分离代码的不同层,以实现更好的管理/工作流程。它具有双向数据绑定和一大堆内置的html指令,可以非常无缝地从模型中提取数据,将其传递给控制器​​并在视图中显示。

    3. 还有更多,但我列出的这些原因是我进入它的主要原因。它完全符合我对下一个项目的规范和要求。