详解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 相关文章推荐
QQ登录简单实现代码
Mar 09 Javascript
Jquery Ajax学习实例4 向WebService发出请求,返回实体对象的异步调用
Mar 16 Javascript
JavaScript和CSS通过expression实现Table居中显示
Jun 28 Javascript
Javascript递归打印Document层次关系实例分析
May 15 Javascript
使用原生js封装的ajax实例(兼容jsonp)
Oct 12 Javascript
vue组件编写之todolist组件实例详解
Jan 22 Javascript
jQuery实现监听下拉框选中内容发生改变操作示例
Jul 13 jQuery
js异步上传多张图片插件的使用方法
Oct 22 Javascript
uni-app 组件里面获取元素宽高的实现
Dec 27 Javascript
基于html+css+js实现简易计算器代码实例
Feb 28 Javascript
手写Vue2.0 数据劫持的示例
Mar 04 Vue.js
JS Object构造函数之Object.freeze
Apr 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
一台收音机,让一家人都笑逐颜开!
2020/08/21 无线电
php adodb分页实现代码
2009/03/19 PHP
深入apache配置文件httpd.conf的部分参数说明
2013/06/28 PHP
typecho插件编写教程(六):调用接口
2015/05/28 PHP
PHP获得数组交集与差集的方法
2015/06/10 PHP
php实现中文转数字
2016/02/18 PHP
利用PHP命令行模式采集股票趋势信息
2016/08/09 PHP
PHP获取数组中指定的一列实例
2017/12/27 PHP
jquery JSON的解析方式
2009/07/25 Javascript
javascript showModalDialog模态对话框使用说明
2009/12/31 Javascript
调用jQuery滑出效果时闪烁的解决方法
2014/03/27 Javascript
JS判断移动端访问设备并加载对应CSS样式
2014/06/13 Javascript
js实现无限级树形导航列表效果代码
2015/09/23 Javascript
实例讲解避免javascript冲突的方法
2016/01/03 Javascript
深入理解jquery自定义动画animate()
2016/05/24 Javascript
JavaScript中最常见的三个面试题解析
2017/03/04 Javascript
让网站自动生成章节目录索引的多个js代码
2018/01/07 Javascript
vue cli webpack中使用sass的方法
2018/02/24 Javascript
基于bootstrap页面渲染的问题解决方法
2018/08/09 Javascript
浅谈Ant Design Pro 菜单自定义 icon
2020/11/17 Javascript
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
2020/12/15 Vue.js
python中文乱码不着急,先看懂字节和字符
2017/12/20 Python
利用Python批量提取Win10锁屏壁纸实战教程
2018/03/27 Python
对numpy中array和asarray的区别详解
2018/04/17 Python
Python实现查询某个目录下修改时间最新的文件示例
2018/08/29 Python
python实现二分类的卡方分箱示例
2019/11/22 Python
Tensorflow 实现分批量读取数据
2020/01/04 Python
python数据分析工具之 matplotlib详解
2020/04/09 Python
简单的Python人脸识别系统
2020/07/14 Python
Python 实现将某一列设置为str类型
2020/07/14 Python
eBay德国站:eBay.de
2017/09/14 全球购物
北京-环亚运商测试题.net程序员初步测试题
2013/05/28 面试题
ShellScript面试题一则-ShellScript编程
2014/03/05 面试题
企业面试题试卷附带答案
2015/12/20 面试题
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
javascript canvas实现雨滴效果
2021/06/09 Javascript