【AngularJS】—— 7 模块化

AngularJS有几大特性,比如:

  1 MVC

  2 模块化

  3 指令系统

  4 双向数据绑定

那么本篇就来看看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的作用是 添加字符串修饰。

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

  程序的运行结果如下:

时间: 2024-10-11 15:27:41

【AngularJS】—— 7 模块化的相关文章

AngularJS的模块化操作。

在Javascript中,模块化的开发模式有很多优点,我就在网上找了几点,不管你懂不懂,反正我是不懂模块化开发的. 现在业界比较规范的是AMD,研究模块化开发可以使用比较流行的require.js库来实现模块化的开发,推荐阅读Snandy 的相关系列文章(相当给力):http://www.cnblogs.com/snandy/category/360589.html 使用模块能给我们带来许多好处,比如: 1 : 保持全局命名空间的清洁: 2 : 编写测试代码更容易,并能保持其清洁,以便更容易找到

AngularJS基于模块化的MVC实现

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>AngularJS双向数据绑定</title> 6 <script type="text/javascript" src="../js/angular.min.js"></script> 7 </head&g

angularjs+requeirjs模块化的应用程序接口

/** * Created by lina on 16/4/11. */require.config(config);require(["jquery","bootstrap-typeahead","transactionsFundController","addController","modifyController"],function () { $(function () { angular.boo

AngularJs项目

AngularJs项目实践总结 今年3月接触AngularJs,并且在6月的项目中开始应用,从踩坑到填坑花了不少时间,根据项目中的实际应用情况总结了一些经验,如下: 一.UI控件选择 Angularjs是不缺控件的,Github里现成的控件非常丰富,基本上足以应付一个普通管理系统中常见的控件需求.但是控件的丰富会带来选择的困难.选择控件要满足几个原则:原则1:符合业务场景原则2:控件持续更新原则3:满足性能要求 举几个例子.首先是上传附件的控件.项目中要用到附件上传,谷歌上搜到了三个控件,分别是

angularJS的核心特性

前几天师傅让我了解一下angularJS,angularJS是一个前端框架,具体的优缺点和运用场景我现在也还没有搞清楚,暂时就先不做描述了,留到运用以后进行补充吧. angularJS四大核心特性:MVC.Module(模块化).指令系统.双向数据绑定. 下面就以上四大核心特性,进行一些简要介绍: 1.MVC(Module——Control——View) 我们应该都知道MVC代表:数据模型层(Module)——业务逻辑和控制逻辑(Control)——视图层(View),先看一个简单的angula

基于angularJS和requireJS的前端架构

1.概要描述 1.1.angularJS描述:angularJS是可以用来构建WEB应用的,WEB应用中的一种端对端的完整解决方案.通过开发者呈现一个更高层次的抽象来简化应用的开发.最适合的就是用它来构建一个CRUD应用,它提供了非常方便的且统一高效的解决方案,其数据绑定.基本模版标识符.表单验证.路由.深度链接.组件重用.依赖注入.以及HTML标记等,最受欢迎的莫过于它的双向数据绑定. 1.2.requireJS描述:requireJS是来解决传统的页面加载script标记操作,通过其初始化配

关于如何自学web前端以及一些面试的经验分享

自学怎么学好前端开发? 一千个人来回答这个问题有一千种答案,每个人的自学能力各不相同,适合我的方法不一定适合你.但是大家可以相互借鉴,苹果交换过后还是一个苹果,思想交换过后就是两种思想了.我这里把我的方法分享出来,多少也有一些借鉴的经验或者让你少走一些弯路. 有的人喜欢安静的一个人看书专研,有的人喜欢看网络视频教程,而我更偏向于后者,当然你时间充足的话看书加看视频效果更好.学习的主线视频是我花10块钱在某宝上淘的,这套视频是传智播客2015.12-2016.3期间实体班的全程录像,很新,最主要的

django_restframework_angularjs

用Django Rest Framework和AngularJS开始你的项目 作者: seele52 发布时间:2015-07-29 11:30:55 用Django Rest Framework和AngularJS开始你的项目 作者:Kevin Stone原帖:Getting Started with Django Rest Framework and AngularJS原帖时间:2013-10-02 译序:虽然本文号称是"hello world式的教程"(这么长的hello wor

移动开发中使用Onsen UI的笔记

onsen var m_index = ons.bootstrap() 初始化框架 m_index 赋值 增加对象. m_index.value('getUser',{ // user:window.localStorage.getItem("user")//生产 userCode:"xuhaiyong" }); m_index.service('loadTaskCountService',function($http,getUser,getUrl){ this.l