详解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 相关文章推荐
multiSteps 基于Jquery的多步骤滑动切换插件
Jul 22 Javascript
Google的跟踪代码 动态加载js代码方法应用
Nov 12 Javascript
中文路径导致unitpngfix.js不正常的解决方法
Jun 26 Javascript
css结合js制作下拉菜单示例代码
Feb 27 Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
Feb 05 Javascript
JS实现可调整倒计时间代码分享
Aug 18 Javascript
浅谈关于.vue文件中style的scoped属性
Aug 19 Javascript
JS闭包的几种常见形式实例详解
Sep 16 Javascript
JavaScript使用prototype原型实现的封装继承多态示例
Aug 31 Javascript
JSON是什么?有哪些优点?JSON和XML的区别?
Apr 29 Javascript
JS中的模糊查询功能
Dec 08 Javascript
解决vue+webpack项目接口跨域出现的问题
Aug 10 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 in_array 函数使用说明与in_array需要注意的地方说明
2010/04/13 PHP
PHP中SESSION的注销与清除
2015/04/16 PHP
在php的yii2框架中整合hbase库的方法
2018/09/20 PHP
图片自动更新(说明)
2006/10/02 Javascript
动态添加js事件实现代码
2009/03/12 Javascript
关于Mozilla浏览器不支持innerText的解决办法
2011/01/01 Javascript
使用原生javascript创建通用表单验证——更锋利的使用dom对象
2011/09/13 Javascript
javascript判断变量是否有值的方法
2015/04/20 Javascript
JQuery实现的图文自动轮播效果插件
2015/06/19 Javascript
使用JavaScript实现弹出层效果的简单实例
2016/05/31 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
2017/05/26 Javascript
js学习总结之dom2级事件基础知识详解
2017/07/27 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
解决vue net :ERR_CONNECTION_REFUSED报错问题
2020/08/13 Javascript
OpenLayers加载缩放控件使用方法详解
2020/09/25 Javascript
javascript实现京东快递单号的查询效果
2020/11/30 Javascript
[01:10:03]OG vs EG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
[02:38]2018年度DOTA2最佳劣单位选手-完美盛典
2018/12/17 DOTA
python从入门到精通(DAY 2)
2015/12/20 Python
Python求解任意闭区间的所有素数
2018/06/10 Python
Python实现个人微信号自动监控告警的示例
2019/07/03 Python
Python通过socketserver处理多个链接
2020/03/18 Python
pycharm 实现本地写代码,服务器运行的操作
2020/06/08 Python
PyQt5中QSpinBox计数器的实现
2021/01/18 Python
使用CSS3创建动态菜单效果
2015/07/10 HTML / CSS
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
加拿大消费电子和手机购物网站:The Source
2017/01/28 全球购物
中国电子产品外贸网站:MiniIntheBox
2017/02/06 全球购物
商场经理竞聘演讲稿
2014/01/01 职场文书
物理学专业求职信
2014/07/04 职场文书
质量负责人岗位职责
2015/02/15 职场文书
怎样评估创业计划书是否有可行性?
2019/08/07 职场文书
OpenCV-Python实现油画效果的实例
2021/06/08 Python
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA
Spring Boot接口定义和全局异常统一处理
2022/04/20 Java/Android