详解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 相关文章推荐
IE浏览器兼容Firefox的JS脚本的代码
Oct 23 Javascript
jquery分页插件AmSetPager(自写)
Apr 15 Javascript
点击页面其它地方隐藏该div的两种思路
Nov 18 Javascript
JavaScript中一个奇葩的IE浏览器判断方法
Apr 16 Javascript
JavaScript数组方法总结分析
May 06 Javascript
jQuery实现的右下角广告窗体跟随效果示例
Sep 16 Javascript
javascript入门之window对象【新手必看】
Nov 22 Javascript
基于javascript 显式转换与隐式转换(详解)
Dec 15 Javascript
Vuex 使用及简单实例(计数器)
Aug 29 Javascript
JavaScript递归函数定义与用法实例分析
Jan 24 Javascript
JS中的继承操作实例总结
Jun 06 Javascript
解决elementui表格操作列自适应列宽
Dec 28 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 和 MySQL 基础教程(一)
2006/10/09 PHP
提高 DHTML 页面性能
2006/12/25 Javascript
JavaScript初学者应注意的七个细节小结
2012/01/30 Javascript
javascript调试过程中找不到哪里出错的可能原因
2013/12/16 Javascript
JavaScript实现上下浮动的窗口效果代码
2015/10/12 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
javascript基础知识之html5轮播图实例讲解(44)
2017/02/17 Javascript
原生js封装自定义滚动条
2017/03/24 Javascript
vue移动端裁剪图片结合插件Cropper的使用实例代码
2017/07/10 Javascript
Vue2.0利用vue-resource上传文件到七牛的实例代码
2017/07/28 Javascript
vue引入js数字小键盘的实现代码
2018/05/14 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
2019/01/24 Javascript
基于Vue实现电商SKU组合算法问题
2019/05/29 Javascript
jquery实现垂直手风琴导航栏
2020/02/18 jQuery
JavaScript代码实现简单计算器
2020/12/27 Javascript
[01:20:37]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
复制粘贴功能的Python程序
2008/04/04 Python
python测试驱动开发实例
2014/10/08 Python
python编程线性回归代码示例
2017/12/07 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
django基于restframework的CBV封装详解
2019/08/08 Python
python 定时器每天就执行一次的实现代码
2019/08/14 Python
python获取Linux发行版名称
2019/08/30 Python
Django在Model保存前记录日志实例
2020/05/14 Python
Python图像处理之膨胀与腐蚀的操作
2021/02/07 Python
Python plt 利用subplot 实现在一张画布同时画多张图
2021/02/26 Python
First Aid Beauty官网:FAB急救面霜
2018/05/24 全球购物
西铁城美国官方网站:Citizen Watch美国
2019/11/08 全球购物
庆元旦文艺演出主持词
2014/03/27 职场文书
质量月活动总结
2014/08/26 职场文书
党的群众路线教育实践活动总结
2014/10/30 职场文书
2015国庆66周年宣传语
2015/07/14 职场文书
国庆节主题班会
2015/08/15 职场文书
公司开业的祝贺语大全(60条)
2019/07/05 职场文书