• 【13】AngularJS 模块


    AngularJS 模块


    模块定义了一个应用程序。(魔芋:也就是说一个ng-app代表一个应用程序,也就是一个模块,module)

    模块是应用程序中不同部分的容器。

    模块是应用控制器的容器。

    控制器通常属于一个模块。


    带有控制器的模块

    应用("myApp") 带有控制器 ("myCtrl"):

     

    1. <!DOCTYPE html>
    2. <html>
    3. <script src="http://apps.bdimg.com/libs/angular.js/1.3.9/angular.min.js"></script>
    4. <body>
    5. <div ng-app="myApp" ng-controller="myCtrl">
    6. {{ firstName +" "+ lastName }}
    7. </div>
    8. <script>
    9. var app = angular.module("myApp",[]);
    10. app.controller("myCtrl",function($scope){
    11. $scope.firstName ="John";
    12. $scope.lastName ="Doe";
    13. });
    14. </script>
    15. </body>
    16. </html>
     

    模块和控制器包含在 JS 文件中

    通常 AngularJS 应用程序将模块和控制器包含在 JavaScript 文件中。

    在以下实例中, "myApp.js" 包含了应用模块的定义程序, "myCtrl.js" 文件包含了控制器:

     

    1. <!DOCTYPE html>
    2. <html>
    3. <script src="http://apps.bdimg.com/libs/angular.js/1.3.9/angular.min.js"></script>
    4. <body>
    5. <div ng-app="myApp" ng-controller="myCtrl">
    6. {{ firstName +" "+ lastName }}
    7. </div>
    8. <script src="myApp.js"></script>
    9. <script src="myCtrl.js"></script>
    10. </body>
    11. </html>
     

    myApp.js

    1. var app = angular.module("myApp",[]);

     

      在模块定义中 [] 参数用于定义模块的依赖关系。
    中括号[]表示该模块没有依赖,如果有依赖的话会在中括号写上依赖的模块名字。

     

    myCtrl.js

    1. app.controller("myCtrl",function($scope){
    2. $scope.firstName ="John";
    3. $scope.lastName="Doe";
    4. });
     

    函数会影响到全局命名空间

    JavaScript 中应避免使用全局函数。因为他们很容易被其他脚本文件覆盖。

    AngularJS 模块让所有函数的作用域在该模块下,避免了该问题。


    什么时候载入库?

    Note 在我们的实例中,所有 AngularJS 库都在 HTML 文档的头部载入。

    对于 HTML 应用程序,通常建议把所有的脚本都放置在 <body> 元素的最底部。

    这会提高网页加载速度,因为 HTML 加载不受制于脚本加载。

    在我们的多个 AngularJS 实例中,您将看到 AngularJS 库是在文档的 <head> 区域被加载。

    在我们的实例中,AngularJS 在 <head> 元素中被加载,因为对 angular.module 的调用只能在库加载完成后才能进行。

    另一个解决方案是在 <body> 元素中加载 AngularJS 库,但是必须放置在您的 AngularJS 脚本前面:

     

    1. <!DOCTYPE html>
    2. <html>
    3. <body>
    4. <div ng-app="myApp" ng-controller="myCtrl">
    5. {{ firstName +" "+ lastName }}
    6. </div>
    7. <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
    8. <script>
    9. var app = angular.module("myApp",[]);
    10. app.controller("myCtrl",function($scope){
    11. $scope.firstName ="John";
    12. $scope.lastName ="Doe";
    13. });
    14. </script>
    15. </body>
    16. </html>
     





  • 相关阅读:
    03_输出程序状态信息
    06_键盘事件
    Silverlight中引用图片的方式
    04_响应单点触控
    02_ListActive中响应事件 并LogCat输出
    批量插入更新的 sql语句
    07_重力倾斜度响应
    读取XML
    人生启示录效应篇之牢骚效应:凡是公司中有对工作发牢骚的人,那家公司或老板一定比没有这种人或有这种人而把牢骚埋在肚子里的公司要成功得多
    鼠标事件之JS
  • 原文地址:https://www.cnblogs.com/moyuling/p/5207307.html
Copyright © 2020-2023  润新知