详解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 相关文章推荐
javascript 操作文件 实现方法小结
Jul 02 Javascript
extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
Mar 09 Javascript
JS/jQuery实现默认显示部分文字点击按钮显示全部内容
May 13 Javascript
div浮层,滚动条移动,位置保持不变的4种方法汇总
Dec 11 Javascript
JavaScript中的document.referrer在各种浏览器测试结果
Jul 18 Javascript
jQuery获取URL请求参数的方法
Jul 18 Javascript
jQuery实现的登录浮动框效果代码
Sep 26 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
Feb 04 Javascript
BootStrap日期控件在模态框中选择时间下拉菜单无效的原因及解决办法(火狐下不能点击)
Aug 18 Javascript
基于javascript实现数字英文验证码
Jan 25 Javascript
webpack打包js的方法
Mar 12 Javascript
elementui的el-popover修改样式不生效的解决
Jun 30 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
Discuz 模板语句分析及知识技巧
2009/08/21 PHP
PHP has encountered an Access Violation 错误的解决方法
2010/01/17 PHP
php和js如何通过json互相传递数据相关问题探讨
2013/02/26 PHP
php警告Creating default object from empty value 问题的解决方法
2014/04/02 PHP
PHP中exec函数和shell_exec函数的区别
2014/08/20 PHP
Linux中为php配置伪静态
2014/12/17 PHP
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
2017/05/29 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
十个优秀的Ajax/Javascript实例网站收集
2010/03/31 Javascript
jQeury淡入淡出需要注意的问题
2010/09/08 Javascript
jquery插件制作教程 txtHover
2012/08/17 Javascript
JS实现的自定义右键菜单实例二则
2015/09/01 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
2015/10/31 Javascript
JQuery实现简单的图片滑动切换特效
2015/11/22 Javascript
详解JavaScript对象和数组
2015/12/03 Javascript
js canvas实现擦除动画
2016/07/16 Javascript
canvas学习之API整理笔记(一)
2016/12/29 Javascript
js实现消息滚动效果
2017/01/18 Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
2017/09/28 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
2018/03/05 Javascript
深入浅析Node环境和浏览器的区别
2018/08/14 Javascript
webpack4 配置 ssr 环境遇到“document is not defined”
2019/10/24 Javascript
JavaScript实现简单验证码
2020/08/24 Javascript
Python写的一个定时重跑获取数据库数据
2016/12/28 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
2018/12/15 Python
Python中zip()函数的简单用法举例
2019/09/02 Python
利用Python小工具实现3秒钟将视频转换为音频
2019/10/29 Python
django配置app中的静态文件步骤
2020/03/27 Python
python框架flask入门之环境搭建及开启调试
2020/06/07 Python
Python3.9.0 a1安装pygame出错解决全过程(小结)
2021/02/02 Python
Pharmacy Online中文直邮网站:澳洲大型药房
2020/06/27 全球购物
超市端午节活动方案
2014/01/23 职场文书
运动会稿件100字
2014/02/21 职场文书
班班通项目实施方案
2014/02/25 职场文书
大学生学习面向未来的赶考思想汇报
2014/09/12 职场文书
校本课程教学计划
2015/01/19 职场文书