详解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 相关文章推荐
Extjs学习笔记之六 面版
Jan 08 Javascript
JavaScript高级程序设计 客户端存储学习笔记
Sep 10 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
Dec 12 Javascript
js弹窗返回值详解(window.open方式)
Jan 11 Javascript
jQuery表格插件datatables用法总结
Sep 05 Javascript
一个jquery实现的不错的多行文字图片滚动效果
Sep 28 Javascript
js判断滚动条是否已到页面最底部或顶部实例
Nov 20 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
Nov 26 Javascript
highcharts 在angular中的使用示例代码
Sep 20 Javascript
Vue 进入/离开动画效果
Dec 26 Javascript
JQuery Ajax执行跨域请求数据的解决方案
Dec 10 jQuery
微信小程序自定义yPicker组件实现省市区三级联动功能
Oct 29 Javascript
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获取用户IPv4或IPv6地址的代码
2012/11/15 PHP
基于php无限分类的深入理解
2013/06/02 PHP
php curl基本操作详解
2013/07/23 PHP
PHP curl实现抓取302跳转后页面的示例
2014/07/04 PHP
php连接oracle数据库及查询数据的方法
2014/12/29 PHP
php实现统计网站在线人数的方法
2015/05/12 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
2017/01/21 PHP
js中if语句的几种优化代码写法
2011/03/12 Javascript
JS时间选择器 兼容IE6,7,8,9
2012/06/26 Javascript
js模仿html5 placeholder适应于不支持的浏览器
2013/01/13 Javascript
jQuery实现表头固定效果的实例代码
2013/05/24 Javascript
js判断字符是否是汉字的两种方法小结
2014/01/03 Javascript
jQuery插件Zclip实现完美兼容个浏览器点击复制内容到剪贴板
2015/04/30 Javascript
jQuery插件AjaxFileUpload实现ajax文件上传
2016/05/05 Javascript
jQuery多文件异步上传带进度条实例代码
2016/08/16 Javascript
使用JavaScriptCore实现OC和JS交互详解
2017/03/28 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
Vue仿支付宝支付功能
2018/05/25 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
nodejs log4js 使用详解
2019/05/31 NodeJs
js设置鼠标悬停改变背景色实现详解
2019/06/26 Javascript
JavaScript 替换所有匹配内容及正则替换方法
2020/02/12 Javascript
Vue基于iview实现登录密码的显示与隐藏功能
2020/03/06 Javascript
wxPython中文教程入门实例
2014/06/09 Python
TensorFlow平台下Python实现神经网络
2018/03/10 Python
python多进程实现文件下载传输功能
2018/07/28 Python
Python/ArcPy遍历指定目录中的MDB文件方法
2018/10/27 Python
简单了解python中对象的取反运算符
2019/07/01 Python
Django import export实现数据库导入导出方式
2020/04/03 Python
python利用文件时间批量重命名照片和视频
2021/02/09 Python
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
品学兼优的大学生自我评价
2013/09/20 职场文书
人力资源部副职的竞聘演讲稿
2014/01/07 职场文书
社区党员干部承诺书
2015/05/04 职场文书
社区艾滋病宣传活动总结
2015/05/07 职场文书
MySQL系列之七 MySQL存储引擎
2021/07/02 MySQL