详解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 动态添加标签(新增一行,其实很简单,就是几个函数的应用)
Mar 26 Javascript
一个js写的日历(代码部分网摘)
Sep 20 Javascript
jquery实现的图片点击滚动效果
Apr 29 Javascript
javascript去除字符串中所有标点符号和提取纯文本的正则
Jun 07 Javascript
jquery实现表格本地排序的方法
Mar 11 Javascript
微信小程序 前端源码逻辑和工作流详解
Oct 08 Javascript
javascript中的后退和刷新实现方法
Nov 10 Javascript
JavaScript制作简易计算器(不用eval)
Feb 05 Javascript
详解使用vuex进行菜单管理
Dec 21 Javascript
详解Vue组件之作用域插槽
Nov 22 Javascript
小程序页面动态配置实现方法
Feb 05 Javascript
vue打开其他项目页面并传入数据详解
Nov 25 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 静态化实现代码
2009/03/20 PHP
跟我学Laravel之视图 &amp; Response
2014/10/15 PHP
PHP编写学校网站上新生注册登陆程序的实例分享
2016/03/21 PHP
Yii使用DeleteAll连表删除出现报错问题的解决方法
2016/07/14 PHP
jQuery学习笔记[1] jQuery中的DOM操作
2010/12/03 Javascript
javascript获取网页中指定节点的父节点、子节点的方法小结
2013/04/24 Javascript
不使用浏览器运行javascript代码的方法
2013/07/24 Javascript
JavaScript字符串对象的concat方法实例(用于连接两个或多个字符串)
2014/10/16 Javascript
详解JavaScript正则表达式中的global属性的使用
2015/06/16 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
Jquery组件easyUi实现选项卡切换示例
2016/08/23 Javascript
Vue项目添加动态浏览器头部title的方法
2018/07/11 Javascript
Vue中使用方法、计算属性或观察者的方法实例详解
2018/10/31 Javascript
jQuery实现的鼠标拖动浮层功能示例【拖动div等任何标签】
2018/12/29 jQuery
React 使用Hooks简化受控组件的状态绑定
2019/03/18 Javascript
详解使用mocha对webpack打包的项目进行&quot;冒烟测试&quot;的大致流程
2020/04/27 Javascript
js实现时间日期校验
2020/05/26 Javascript
python logging类库使用例子
2014/11/22 Python
Python中3种内建数据结构:列表、元组和字典
2014/11/30 Python
12个步骤教你理解Python装饰器
2019/07/01 Python
对Python _取log的几种方式小结
2019/07/25 Python
Python常用编译器原理及特点解析
2020/03/23 Python
Keras 使用 Lambda层详解
2020/06/10 Python
Python用摘要算法生成token及检验token的示例代码
2020/12/01 Python
关于探究python中sys.argv时遇到的问题详解
2021/02/23 Python
美国葡萄酒网上商店:Martha Stewart Wine Co.
2019/03/17 全球购物
面临毕业的毕业生自荐书范文
2014/02/05 职场文书
民主生活会对照检查材料(统计局)
2014/09/21 职场文书
2015年学校安全工作总结
2015/04/22 职场文书
开学第一周总结
2015/07/16 职场文书
母亲节主题班会
2015/08/14 职场文书
个人销售励志奋斗口号
2019/12/05 职场文书
CSS完成视差滚动效果
2021/04/27 HTML / CSS
浅谈golang 中time.After释放的问题
2021/05/05 Golang
SpringBoot 整合mongoDB并自定义连接池的示例代码
2022/02/28 MongoDB
Elasticsearch 数据类型及管理
2022/04/19 Python