详解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 相关文章推荐
jquery imgareaselect 使用利用js与程序结合实现图片剪切
Jul 30 Javascript
提升你网站水平的jQuery插件集合推荐
Apr 19 Javascript
LABjs、RequireJS、SeaJS的区别
Mar 04 Javascript
基于jQuery通过jQuery.form.js插件实现异步上传
Dec 13 Javascript
相册展示PhotoSwipe.js插件实现
Aug 25 Javascript
深入理解jquery中的each用法
Dec 14 Javascript
jQuery中Chosen三级联动功能实例代码
Mar 07 Javascript
JavaScript编写一个贪吃蛇游戏
Mar 09 Javascript
jquery实现用户登陆界面(示例讲解)
Sep 06 jQuery
小程序云开发教程如何使用云函数实现点赞功能
May 18 Javascript
JavaScript中的this妙用实例分析
May 09 Javascript
在vue中axios设置timeout超时的操作
Sep 04 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 array_push 数组函数
2009/12/26 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
2014/11/18 PHP
php返回相对时间(如:20分钟前,3天前)的方法
2015/04/14 PHP
javascript检查日期格式的函数[比较全]
2008/10/17 Javascript
js 实现打印网页中定义的部分内容的代码
2010/04/01 Javascript
web页面数据展示新想法(json)
2010/06/08 Javascript
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
javascript读写XML实现广告轮换(兼容IE、FF)
2013/08/09 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
javascript制作坦克大战全纪录(1)
2014/11/27 Javascript
浅谈javascript 函数内部属性
2015/01/21 Javascript
javascript操作select元素实例分析
2015/03/27 Javascript
javascript原始值和对象引用实例分析
2015/04/25 Javascript
javascript+html5实现仿flash滚动播放图片的方法
2015/04/27 Javascript
JS模拟酷狗音乐播放器收缩折叠关闭效果代码
2015/10/29 Javascript
整理Javascript事件响应学习笔记
2015/12/02 Javascript
AngularJS 依赖注入详解及示例代码
2016/08/17 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
2016/09/23 Javascript
JS中使用media实现响应式布局
2017/08/04 Javascript
Router解决跨模块下的页面跳转示例
2018/01/11 Javascript
vue-cli 如何打包上线的方法示例
2018/05/08 Javascript
vue-父子组件和ref实例详解
2019/11/10 Javascript
python在指定目录下查找gif文件的方法
2015/05/04 Python
python 根据pid杀死相应进程的方法
2017/01/16 Python
Python读取mat文件,并转为csv文件的实例
2018/07/04 Python
PyQt弹出式对话框的常用方法及标准按钮类型
2019/02/27 Python
Ubuntu下Anaconda和Pycharm配置方法详解
2019/06/14 Python
python 使用递归实现打印一个数字的每一位示例
2020/02/27 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
Flask中sqlalchemy模块的实例用法
2020/08/02 Python
Boolean b = new Boolean(“abcde”); 会编译错误码
2013/11/27 面试题
会计专业毕业生求职信
2014/07/04 职场文书
农村党支部承诺书
2015/04/30 职场文书
计划生育责任书
2015/05/09 职场文书
2016党校学习心得体会
2016/01/07 职场文书
Pandas实现DataFrame的简单运算、统计与排序
2022/03/31 Python