AngularJS【AngularJS】—— 7 模块化

style=”font-size: 13px; color: #000080;”>AngularJS有几乎杀特色,比如:

  1 MVC

   style=”color: #ff0000;”>2 模块化

  3 指令系统

  4
双向数据绑定

style=”font-size: 13px; color: #000080;”>那么本篇就来探AngularJS的模块化。

  首先先说一下为什么而贯彻模块化:

  1
增加了模块的不过重用性

  2
通过定义模块,实现加载顺序的自定义

  3
在单元测试中,不必加载所有的内容

  之前举行的几乎个例证,控制器的代码直接写在script标签中,这样声明的函数都是大局的,显然不是一个极端好的挑。

  下面看看如何进行模块化:

        <script type="text/javascript">
            var myAppModule = angular.module('myApp',[]);

            myAppModule.filter('test',function(){
                return function(name){
                    return 'hello, '+name+'!';
                };
            });

            myAppModule.controller('myAppCtrl',['$scope',function($scope){
                $scope.name='xingoo';
            }]);
        </script>

  首先,通过全局变量angular创建模块myAppModule

angular.module('myApp',[]);

  第一独参数是绑定的应用app名称,这个app标识了页面中angular的入口点,类似main函数的意向。

  第二独参数[]里头标识了依赖的模块。

  下面看看哪些使用模块吧!

<!doctype html>
<html ng-app="myApp">
    <head>
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
         <script src="http://apps.bdimg.com/libs/angular.js/1.2.16/angular.min.js"></script>
    </head>
    <body>
        <div ng-controller="myAppCtrl">
            {{name | test }}
        </div>
        <script type="text/javascript">
            var myAppModule = angular.module('myApp',[]);

            myAppModule.filter('test',function(){
                return function(name){
                    return 'hello, '+name+'!';
                };
            });

            myAppModule.controller('myAppCtrl',['$scope',function($scope){
                $scope.name='xingoo';
            }]);
        </script>
    </body>
</html>

  直接绑定myApp到ng-app上,就好了。

  于script中,我们由此模块创建了一个filter和一个控制器。

  filter的意是
添加字符串修饰。

  控制器的图则是初始化变量。

  程序的运作结果如下:

相关文章