详解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 相关文章推荐
js实现的网站首页随机公告随机公告
Mar 14 Javascript
document.getElementBy(&quot;id&quot;)与$(&quot;#id&quot;)有什么区别
Sep 22 Javascript
jQuery ajax dataType值为text json探索分享
Sep 23 Javascript
Javascript中匿名函数的多种调用方式总结
Dec 06 Javascript
jQuery $.extend()用法总结
Jun 15 Javascript
纯css下拉菜单 无需js
Aug 15 Javascript
JavaScript动态检验密码强度的实现方法
Nov 09 Javascript
将angular.js项目整合到.net mvc中的方法详解
Jun 29 Javascript
本地存储localStorage用法详解
Jul 31 Javascript
JS遍历JSON数组及获取JSON数组长度操作示例【测试可用】
Dec 12 Javascript
javascript实现计算指定范围内的质数示例
Dec 29 Javascript
JavaScript递归函数定义与用法实例分析
Jan 24 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实现中文圆形印章特效
2015/06/19 PHP
Yii1.1框架实现PHP极光推送消息通知功能
2018/09/06 PHP
网页上的Javascript编辑器和代码格式化
2010/04/25 Javascript
Jquery弹出窗口插件 LeanModal的使用方法
2012/03/10 Javascript
javascript 实现 秒杀,团购 倒计时展示的记录 分享
2013/07/12 Javascript
Jquery validation remote 验证的缓存问题解决方法
2014/03/25 Javascript
javascript实现多级联动下拉菜单的方法
2015/02/06 Javascript
JQuery记住用户名密码实现下次自动登录功能
2015/04/27 Javascript
AngularJS单选框及多选框实现双向动态绑定
2016/01/13 Javascript
HTML5 实现的一个俄罗斯方块实例代码
2016/09/19 Javascript
移动端js图片查看器
2016/11/17 Javascript
js中string和number类型互转换技巧(分享)
2016/11/28 Javascript
nodejs基础知识
2017/02/03 NodeJs
详解vue项目构建与实战
2017/06/27 Javascript
微信小程序表单验证功能完整实例
2017/12/01 Javascript
JS删除数组里的某个元素方法
2018/02/03 Javascript
webpack公共组件引用路径简化小技巧
2018/06/15 Javascript
代码实例ajax实现点击加载更多数据图片
2018/10/12 Javascript
微信小程序基于canvas渐变实现的彩虹效果示例
2019/05/03 Javascript
vue中实现高德定位功能
2019/12/03 Javascript
JS数组reduce()方法原理及使用技巧解析
2020/07/14 Javascript
[01:28]国服启动器接入蒸汽平台操作流程视频
2021/03/11 DOTA
简单的Python的curses库使用教程
2015/04/11 Python
详解Python中的type()方法的使用
2015/05/21 Python
python解决方案:WindowsError: [Error 2]
2016/08/28 Python
python 搜索大文件的实例代码
2019/07/08 Python
Python中如何将一个类方法变为多个方法
2019/12/30 Python
Django model.py表单设置默认值允许为空的操作
2020/05/19 Python
大学生求职自我评价
2014/01/16 职场文书
大学生简短的自我评价分享
2014/02/20 职场文书
《一个小村庄的故事》教学反思
2014/04/13 职场文书
个人批评与自我批评发言稿
2014/09/28 职场文书
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
南湾猴岛导游词
2015/02/09 职场文书
golang import自定义包方式
2021/04/29 Golang
你真的会用Mysql的explain吗
2022/03/31 MySQL