详解angularJS自定义指令间的相互交互


Posted in Javascript onJuly 05, 2017

AngularJS 自定义指令

transclude:当元素标签需要嵌套时使用,与ng-transclude配合使用。默认值为false不能使用嵌套,true为可以使用嵌套。在哪个标签上使用ng-transclude就在哪个标签内进行嵌套。

代码示例:(将hello、hi标签进行替换同时span标签嵌套div内)

<script type="text/javascript">
  var m = angular.module('myApp',[]);
  m.directive('hello',function(){
    return{
      restrict:'E',
      replace:true,
      transclude:true,
      template:'<div>hello angular<h1 ng-transclude></h1></div>'
    };
  });
  m.directive('hi',function(){
    return{
      restrict:'E',
      replace:true,
      template:'<span>hi angular</span>'
    };
  });
  m.controller('Aaa',['$scope',function($scope){
    $scope.name='hello';
  }]);
  </script>

<body ng-controller="Aaa">
  <hello>
    <hi></hi>
  </hello>
</body>

页面结果展示:

详解angularJS自定义指令间的相互交互

在自定义指令当中controller与link的区别:

link是指DOM操作,操作也是针对当前标签

controller是多调用性的数据共享,指令与指令间进行交互时也可以设置一些方法数据,在其他标签中也可以调用

require:从外部引入数据,参数为被引入的指令,被引入的指令需要在引入指令的身上。

》^:是指被引入的指令是引入指令的父级

》?:兼容错误

代码示例:

<script type="text/javascript">
  var m = angular.module('myApp',[]);
  m.directive('hello',function(){
    return{
      restrict:'E',
      replace:true,
      transclude:true,
      controller:function($scope){
        //$scope.name='miaov';只能在该标签中使用
        this.name = 'miaov';//可以在其他标签中调用
      },
      template:'<div>hello angular<h1 ng-transclude></h1></div>'
    };
  });
  m.directive('hi',function(){
    return{
      restrict:'E',
      replace:true,
      require:'?^hello',//从外部引入指令,参数为被引入的标签
      link:function($scope,element,attr,reController){
        console.log(reController.name);
      },
      template:'<span>hi angular</span>'
    };
  });
  m.controller('Aaa',['$scope',function($scope){
    $scope.name='hello';
  }]);
  </script>

<body ng-controller="Aaa">
  <hello>
    <hi></hi>
  </hello>
</body>

页面结果展示:

详解angularJS自定义指令间的相互交互

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js获得页面的高度和宽度的方法
Feb 23 Javascript
45个JavaScript编程注意事项、技巧大全
Feb 11 Javascript
javascript如何操作HTML下拉列表标签
Aug 20 Javascript
AngularJS 路由详解和简单实例
Jul 28 Javascript
利用jQuery实现打字机字幕效果实例代码
Sep 02 Javascript
javascript 闭包详解及简单实例应用
Dec 31 Javascript
详解webpack自动生成html页面
Jun 29 Javascript
js防抖和节流的深入讲解
Dec 06 Javascript
解决webpack多页面内存溢出的方法示例
Oct 08 Javascript
jquery添加div实现消息聊天框
Feb 08 jQuery
浅析JS中NEW的实现原理及重写
Feb 20 Javascript
原生javascript制作的拼图游戏实现方法详解
Feb 23 Javascript
利用canvas实现的加载动画效果实例代码
Jul 05 #Javascript
AngularJS使用ocLazyLoad实现js延迟加载
Jul 05 #Javascript
vue一步步实现alert功能
Jul 05 #Javascript
详解vue.js移动端导航navigationbar的封装
Jul 05 #Javascript
JS实现移动端按首字母检索城市列表附源码下载
Jul 05 #Javascript
webpack教程之webpack.config.js配置文件
Jul 05 #Javascript
webstorm添加vue.js支持的方法教程
Jul 05 #Javascript
You might like
php限制上传文件类型并保存上传文件的方法
2015/03/13 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
2015/07/08 PHP
使用Appcan客户端自动更新PHP版本号(全)
2015/07/31 PHP
WordPress中用于获取文章作者与分类信息的方法整理
2015/12/17 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
innerHTML 和 getElementsByName 在IE下面的bug 的解决
2010/04/09 Javascript
jquery解析JSON数据示例代码
2014/03/17 Javascript
整理关于Bootstrap导航的慕课笔记
2017/03/29 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
JavaScript文件的同步和异步加载的实现代码
2017/08/19 Javascript
详解react、redux、react-redux之间的关系
2018/04/11 Javascript
[02:04]2016国际邀请赛中国区预选赛VG.R晋级之路
2016/07/01 DOTA
[55:03]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.20
2020/11/20 DOTA
Python创建xml的方法
2015/03/10 Python
Python二分查找详解
2015/09/13 Python
使用Python编写简单的画图板程序的示例教程
2015/12/08 Python
Python实现将不规范的英文名字首字母大写
2016/11/15 Python
Python使用django搭建web开发环境
2017/06/09 Python
浅谈Django REST Framework限速
2017/12/12 Python
python3使用matplotlib绘制条形图
2020/03/25 Python
Python 抓取微信公众号账号信息的方法
2019/06/14 Python
python导入pandas具体步骤方法
2019/06/23 Python
Python之pymysql的使用小结
2019/07/01 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
基于Python的自媒体小助手---登录页面的实现代码
2020/06/29 Python
Python 常用日期处理 -- calendar 与 dateutil 模块的使用
2020/09/02 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
2020/10/15 Python
Django admin组件的使用
2020/10/24 Python
瑞典最好的运动鞋专卖店:Sneakersnstuff
2016/08/29 全球购物
有趣的流行文化T恤、马克杯、手机壳和更多:Look Human
2019/01/07 全球购物
加拿大鞋网:Globo Shoes
2019/12/26 全球购物
综合实践活动报告
2015/02/05 职场文书
2015年青年教师工作总结
2015/05/25 职场文书
债务纠纷代理词
2015/05/25 职场文书
廉洁自律心得体会2016
2016/01/13 职场文书