Angular组件化管理实现方法分析


Posted in Javascript onMarch 17, 2017

本文实例分析了Angular组件化管理实现方法。分享给大家供大家参考,具体如下:

在做sass产品页面的时候,往往每个页面的header和footer都是一样的,还有最近我做的页面,类似datetimepicker这种组件,其实都是可以复用的代码,所以如果能把这些公用的UI组件提取出来,对于维护就会方便很多啦!!

angular框架就支持这种组件化管理,不过也有优缺点,我先来说实现方法哈!

index.html:没有用到路由,所以js都是src生引进来的

<head>
  <title>template模块化</title>
  <script type="text/javascript" src="js/lib/jquery.min.js"></script>
  <script type="text/javascript" src="js/lib/angular.min.js"></script>
  <script type="text/javascript" src="js/angular-util.js"></script>
  <script type="text/javascript" src="js/header.js"></script>
  <!-- 单页加载 -->
  <script type="text/javascript" src="js/index.js"></script>
</head>
<body ng-app="frameApp" ng-controller="frameCtrl">
  <header frame-header></header>
  <div ng-click="a1()">click</div>
  <div>{{ default }}</div>
</body>

header.js:用闭包封装了header组件指向template模板,这里面的A指的是上面html里frame-header的属性,在这里面的link还可以调用当前作用域内的方法

(function () {
  var header = angular.module("header",[]);
  header.directive('frameHeader',function(){
    return {
      restrice: 'A',
      templateUrl: 'template.html',
      replace: false,
      link: function ($scope, iElm, iAttrs) {
        $scope.navigateTo = function(){
          console.log($scope.aa)
        }
      }
    }
  });
})();

header.html:模板部分,我简单的写了个导航

<ul>
  <li ng-click="navigateTo('index')"><a href="index.html" rel="external nofollow" >导航1</a></li>
  <li><a href="page1.html" rel="external nofollow" >导航2</a></li>
  <li>导航3</li>
  <li>导航4</li>
</ul>

index.js:引入header模块

var myApp = angular.module("frameApp",['utilModule','header']);
myApp.controller('frameCtrl',
  ['$scope','utilService',
  function($scope,utilService){
    $scope.aa = 'yyyyyyyyyyy'
    $scope.a1 = function(){
      utilService.lemon()
    };
    $scope.default = 'this is default'
  }]);

这样一来,大功告成啦就!每个页面只要<header frame-header></header>这个标签,就能引入头部导航了!

不过这种组件化的引入方式,我个人并不推荐使用在引入header和footer,因为这样的话,相当于每个页面都会加载一遍templat.html很影响速度,我建议,在引入datetimepicker这样的组件的时候在使用!因为这种小组件是按需加载的,用得着再加载,不会影响页面响应效率。

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
js实现翻页后保持checkbox选中状态的实现方法
Nov 03 Javascript
jquery 延迟执行实例介绍
Aug 20 Javascript
AngularJS入门(用ng-repeat指令实现循环输出
May 05 Javascript
AngularJS教程之环境设置
Aug 16 Javascript
vue.js源代码core scedule.js学习笔记
Jul 03 Javascript
JavaScript实现三级级联特效
Nov 05 Javascript
layui table设置前台过滤转义等方法
Aug 17 Javascript
JavaScript实现的拼图算法分析
Feb 13 Javascript
js回文数的4种判断方法示例
Jun 04 Javascript
vue+element表格导出为Excel文件
Sep 26 Javascript
基于JS实现简单滑块拼图游戏
Oct 12 Javascript
vue中对象数组去重的实现
Feb 06 Javascript
Bootstrap表单制作代码
Mar 17 #Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
Mar 17 #Javascript
使用vue.js编写蓝色拼图小游戏
Mar 17 #Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
Mar 17 #Javascript
javascript 动态生成css代码的两种方法
Mar 17 #Javascript
AngularJS中$http使用的简单介绍
Mar 17 #Javascript
单击按钮发送验证码,出现倒计时的简单实例
Mar 17 #Javascript
You might like
三个类概括PHP的五种设计模式
2012/09/05 PHP
php+ajax导入大数据时产生的问题处理
2014/06/11 PHP
9个实用的PHP代码片段分享
2015/01/22 PHP
PHP树-不需要递归的实现方法
2016/06/21 PHP
动态改变textbox的宽高的js
2006/10/26 Javascript
JS声明变量背后的编译原理剖析
2012/12/28 Javascript
原生javascript和jquery判断浏览器版本等信息
2013/07/04 Javascript
jquery indexOf使用方法
2013/08/19 Javascript
javascript跨域的4种方法和原理详解
2014/04/08 Javascript
JavaScript判断是否为数字的4种方法及效率比较
2015/04/01 Javascript
Javascript闭包(Closure)详解
2015/05/05 Javascript
微信小程序 火车票查询实例讲解
2016/10/17 Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
2017/03/01 Javascript
Node.js的进程管理的深入理解
2019/01/09 Javascript
vue 实现小程序或商品秒杀倒计时
2019/04/14 Javascript
JS桶排序的简单理解与实现方法示例
2019/11/25 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
openlayers 3实现车辆轨迹回放
2020/09/24 Javascript
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
在Django model中设置多个字段联合唯一约束的实例
2019/07/17 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
python操作链表的示例代码
2020/09/27 Python
python 装饰器的使用示例
2020/10/10 Python
Python的scikit-image模块实例讲解
2020/12/30 Python
pytho matplotlib工具栏源码探析一之禁用工具栏、默认工具栏和工具栏管理器三种模式的差异
2021/02/25 Python
爱尔兰领先的在线体育用品零售商:theGAAstore
2018/04/16 全球购物
沙龙级头发造型工具:FOXYBAE
2018/07/01 全球购物
美国羽绒床上用品第一品牌:Pacific Coast
2018/08/25 全球购物
西班牙最大的婴儿用品网上商店:Bebitus
2019/05/30 全球购物
简述DNS进行域名解析的过程
2013/12/02 面试题
软件生产职位结构化面试主要考察要素及面试题库
2015/06/12 面试题
大学生入党思想汇报
2014/01/14 职场文书
党的群众路线教育实践活动批评与自我批评发言稿
2014/10/16 职场文书
郭明义观后感
2015/06/08 职场文书
接收函
2019/04/22 职场文书
JavaScript中10个Reduce常用场景技巧
2022/06/21 Javascript