详解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 相关文章推荐
基于jQuery UI CSS Framework开发Widget的经验
Aug 21 Javascript
将字符串转换成gb2312或者utf-8编码的参数(js版)
Apr 10 Javascript
html5+javascript制作简易画板附图
Apr 25 Javascript
node.js 开发指南 ? Node.js 连接 MySQL 并进行数据库操作
Jul 29 Javascript
Jquery 实现checkbox全选方法
Jan 28 Javascript
js+html5实现canvas绘制简单矩形的方法
Jun 05 Javascript
vue 2.0组件与v-model详解
Mar 27 Javascript
javascript 中关于array的常用方法详解
May 05 Javascript
结合mint-ui移动端下拉加载实践方法总结
Nov 08 Javascript
详解vuex状态管理模式
Nov 01 Javascript
基于Vue实现平滑过渡的拖拽排序功能
Jun 12 Javascript
vue-cil之axios的二次封装与proxy反向代理使用说明
Apr 07 Vue.js
利用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 伪静态隐藏传递参数名的四种方法
2010/02/22 PHP
php json_encode()函数返回json数据实例代码
2014/10/10 PHP
discuz目录文件资料汇总
2014/12/30 PHP
php自定义函数实现二维数组排序功能
2016/07/20 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
2017/02/15 PHP
详解php几行代码实现CSV格式文件输出
2017/07/01 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
php命令行写shell实例详解
2018/07/19 PHP
基于jQuery的弹出警告对话框美化插件(警告,确认和提示)
2010/06/10 Javascript
jQuery阻止冒泡和HTML默认操作
2010/11/17 Javascript
使用js获取地址栏中传递的值
2013/07/02 Javascript
Bootstrap表单布局
2016/07/19 Javascript
jQuery插件HighCharts绘制2D半圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
2018/08/07 Javascript
js的继承方法小结(prototype、call、apply)(推荐)
2019/04/17 Javascript
JavaScript中的ES6 Proxy的具体使用
2019/06/16 Javascript
微信小程序使用自定义组件导航实现当前页面高亮
2020/01/02 Javascript
Electron实现应用打包、自动升级过程解析
2020/07/07 Javascript
Vue组件生命周期运行原理解析
2020/11/25 Vue.js
举例讲解Python中装饰器的用法
2015/04/27 Python
python画出三角形外接圆和内切圆的方法
2018/01/25 Python
python实现字符串中字符分类及个数统计
2018/09/28 Python
python Elasticsearch索引建立和数据的上传详解
2019/08/04 Python
10个Python面试常问的问题(小结)
2019/11/20 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
详解background属性的8个属性值(面试题)
2020/11/02 HTML / CSS
英国人最爱的饰品网站:Accessorize
2016/08/22 全球购物
Spotahome意大利:公寓和房间出租
2020/02/21 全球购物
自动化专业毕业生自荐信
2013/11/01 职场文书
大型会议接待方案
2014/03/01 职场文书
人事局接收函
2015/01/31 职场文书
关于清明节的演讲稿2015
2015/03/18 职场文书
2019年手机市场的调研报告2篇
2019/10/10 职场文书
Java Socket实现Redis客户端的详细说明
2021/05/26 Redis
如何用python清洗文件中的数据
2021/06/18 Python
html+css实现滚动到元素位置显示加载动画效果
2021/08/02 HTML / CSS