详解AngularJS中module模块的导入导出


Posted in Javascript onDecember 10, 2015

AngularJS是一款来自Google的前端JS框架,它的核心特性有:MVC、双向数据绑定、指令和语义化标签、模块化工具、依赖注入、HTML模板,以及对常用工具的封装,例如$http、$cookies、$location等。

关于AngularJS中module的导入导出,在Bob告诉我之前还没写过,谢谢Bob在这方面的指导,给到我案例代码。

在AngularJS实际项目中,我们可能需要把针对某个领域的各个方面放在不同的module中,然后把各个module汇总到该领域的一个文件中,再由主module调用。就是这样:

详解AngularJS中module模块的导入导出

以上,app.mymodule1, app.mymodule2,app.mymodule都是针对某个领域的,比如app.mymodule1中定义directive, app.mymodule2中定义controller, app.mymodule把app.mymodule1和app.mymodule2汇总到一处,然后app这个主module依赖app.mymodule。

文件结构:

mymodule/
.....helloworld.controller.js <在app.mymodule2中>
.....helloworld.direcitve.js <在app.mymodule1中>
.....index.js <在app.mymodule中>
.....math.js <在一个单独的module中>

app.js <在app这个module中>

index.html

helloworld.controller.js:
var angular = require('angular');
module.exports = angular.module('app.mymodule2', []).controller('HWController', ['$scope', function ($scope) {
 $scope.message = "This is HWController";
}]).name;

以上,通过module.exports导出module,通过require导入module。

helloworld.direcitve.js:
var angular=require('angular');
module.exports = angular.module('app.mymodule1', []).directive('helloWorld', function () {
 return {
  restrict: 'EA',
  replace: true,
  scope: {
   message: "@"
  },
  template: '<div><h1>Message is {{message}}.</h1><ng-transclude></ng-transclude></div>',
  transclude: true
 }
}).name;

接着,在index.js把pp.mymodule1和app.mymodule2汇总到一处。

var angular = require('angular');
var d = require('./helloworld.directive');
var c = require('./helloworld.controller');
module.exports = angular.module('app.mymodule', [d, c]).name;

在math.js中:

exports = {
 add: function (x, y) {
  return x + y;
 },
 mul: function (x, y) {
  return x * y;
 }
};

最后,在app.js中引用app.mymodule1:

var angular = require('angular');
var mymodule = require('./mymodule');
var math = require('./mymodule/math');
angular.module('app', [mymodule])
 .controller('AppController', ['$scope', function ($scope) {
  $scope.message = "hello world";
  $scope.result = math.add(1, 2);
 }]);

以上所述是小编给大家分享的AngularJS中module模块的导入导出,希望大家喜欢。

Javascript 相关文章推荐
URI、URL和URN之间的区别与联系
Dec 20 Javascript
服务器安全设置的几个注册表设置
Jul 28 Javascript
jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析
Jun 09 Javascript
javascript实现状态栏文字首尾相接循环滚动的方法
Jul 22 Javascript
javascript实现图片上传前台页面
Aug 18 Javascript
Node.js中使用jQuery的做法
Aug 17 Javascript
JS常用加密编码与算法实例总结
Dec 22 Javascript
Bootstrap多级菜单的实现代码
May 23 Javascript
小程序接入腾讯位置服务的详细流程
Mar 03 Javascript
js编写简易的计算器
Jul 29 Javascript
js闭包的9个使用场景
Dec 29 Javascript
浅谈Vue开发人员的7个最好的VSCode扩展
Jan 20 Vue.js
SpringMVC restful 注解之@RequestBody进行json与object转换
Dec 10 #Javascript
Spring mvc 接收json对象
Dec 10 #Javascript
SpringMVC返回json数据的三种方式
Dec 10 #Javascript
js操作数组函数实例小结
Dec 10 #Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
Dec 10 #Javascript
jQuery自定义动画函数实例详解(附demo源码)
Dec 10 #Javascript
javascript图片预加载完整实例
Dec 10 #Javascript
You might like
随时给自己贴的图片加文字的php水印
2007/03/16 PHP
火车采集器 免费版使出收费版本功能实现原理
2009/09/17 PHP
php&amp;mysql 日期操作小记
2012/02/27 PHP
浅析php与数据库代码开发规范
2013/08/08 PHP
php生成随机数的三种方法
2014/09/10 PHP
php运行时动态创建函数的方法
2015/03/16 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
2015/04/01 PHP
浅谈php提交form表单
2015/07/01 PHP
php中遍历二维数组并以表格的形式输出的方法
2017/01/03 PHP
PHP isset()与empty()的使用区别详解
2017/02/10 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
2017/06/07 PHP
js倒计时小程序
2013/11/05 Javascript
js 点击页面其他地方关闭弹出层(示例代码)
2013/12/24 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
javascript关于open.window子页面执行完成后刷新父页面的问题分析
2015/04/27 Javascript
JQuery中属性过滤选择器用法实例分析
2015/05/18 Javascript
js拖拽的原型声明和用法总结
2016/04/04 Javascript
JS实现json的序列化和反序列化功能示例
2017/06/13 Javascript
JS基于正则实现数字千分位用逗号分隔的方法
2017/06/16 Javascript
js模拟百度模糊搜索的实例
2017/08/04 Javascript
ES6中Array.find()和findIndex()函数的用法详解
2017/09/16 Javascript
react配合antd组件实现的管理系统示例代码
2018/04/24 Javascript
浅谈一种让小程序支持JSX语法的新思路
2019/06/16 Javascript
详解VUE中的插值( Interpolation)语法
2020/10/18 Javascript
python中解析json格式文件的方法示例
2017/05/03 Python
python requests证书问题解决
2019/09/05 Python
浅谈pycharm使用及设置方法
2019/09/09 Python
Django 实现xadmin后台菜单改为中文
2019/11/15 Python
Python装饰器用法与知识点小结
2020/03/09 Python
美国乒乓球设备、配件和服装品牌:Killerspin
2020/06/07 全球购物
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
毕业评语大全
2014/05/04 职场文书
放假通知范文
2015/04/14 职场文书
入队仪式主持词
2015/07/04 职场文书
Python+Appium新手教程
2021/04/17 Python
vue-cli3.x配置全局的scss的时候报错问题及解决
2022/04/30 Vue.js