AngularJS中directive指令使用之事件绑定与指令交互用法示例


Posted in Javascript onNovember 22, 2016

本文实例讲述了AngularJS中directive指令使用之事件绑定与指令交互用法。分享给大家供大家参考,具体如下:

AngularJS中模板的使用,事件绑定以及指令与指令之间的交互

<!doctype html>
<html ng-app="myapp">
  <head>
    <meta charset="utf-8"/>
  </head>
  <body ng-controller="ShieldController">
    <div>
      <who></who>
    </div>
    <div>
      <button you-btn></button>
    </div>
    <theshield reigns>343</theshield>
    <theshield reigns>fdhg</theshield>
    <theshield rollins>hhh</theshield>
    <theshield ambros>kkk</theshield>
  </body>
  <script src="./js/angular.min.js"></script>
  <script>
    var app = angular.module('myapp',[]);
    /*=======================1. 模板的使用 ========================*/
    app.directive('who',function(){
      return {
        restrict:"E",       //元素element 的意思
        link:function(scope,element,attrs){
          console.log(element);
          element[0].innerHTML = 'sdfhkj'; //这个优先级别最高
        },
        //templateUrl:"param.html", //这个不显示 优先级别最低
        template:"<h1>jkdhf</h1>" //这个显示 优先级别其次
      };
    });
    /*=======================2. 事件的绑定 ========================*/
    app.directive('youBtn',function(){
      return {
        restrict:"A", //attribute 属性的意思
        link:function(scope,element,attrs){
          console.log(element);
          element[0].innerHTML = 'my btn';
          //事件绑定
          element.bind('mouseenter',function(){
            element[0].innerHTML = 'your btn';
          });
          element.bind('mouseleave',function(){
            element[0].innerHTML = 'her btn';
          });
        }
      };
    });
    /*=======================3. 元素 属性 控制器之间的交互========================*/
    app.controller('ShieldController',function($scope){
      $scope.shieldNames = [];
      this.addReigns = function(){
        $scope.shieldNames.push("reigns:jjj");
      }
      this.addRollins = function(){
        $scope.shieldNames.push("Rollins:hhh");
      }
      this.addAmbros = function(){
        $scope.shieldNames.push("Ambros:ggg");
      }
    })
    .directive('reigns',function(){
     return {
       require:"theshield",
       link:function(scope,element,attrs,ShieldController){
         ShieldController.addReigns();
       }
     };
    })
    .directive('rollins',function(){
     return {
       require:"theshield",
       link:function(scope,element,attrs,ShieldController){
         ShieldController.addRollins();
       }
     };
    })
    .directive('ambros',function(){
     return {
       require:"theshield",
       link:function(scope,element,attrs,ShieldController){
         ShieldController.addAmbros();
       }
     };
    })
    .directive('theshield',function(){
      return {
        restrict:"E",
        controller:"ShieldController", //指定控制器
        scope:{},           //清空该指令处的$scope 值
        link:function(scope,element,attrs){
          element.bind('mouseenter',function(){ //对于该指令所对应的元素绑定对应的事件
            console.log(scope.shieldNames);
          });
        }
      };
    });
  </script>
</html>

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

Javascript 相关文章推荐
JavaScript判断两种格式的输入日期的正确性的代码
Mar 25 Javascript
js 自定义的联动下拉框
Feb 07 Javascript
jQuery Tips 为AJAX回调函数传递额外参数的方法
Dec 28 Javascript
Javascript中浮点数相乘的一个解决方法
Jun 03 Javascript
jQuery中index()的用法分析
Sep 05 Javascript
node.js操作mysql(增删改查)
Jul 24 Javascript
全面了解js中的script标签
Jul 04 Javascript
js 判断数据类型的几种方法
Jan 13 Javascript
jQuery html表格排序插件tablesorter使用方法详解
Feb 10 Javascript
JS声明对象时属性名加引号与不加引号的问题及解决方法
Feb 16 Javascript
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
Jun 14 jQuery
4个顶级JavaScript高级文本编辑器
Oct 10 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
Nov 22 #Javascript
详解js中Json的语法与格式
Nov 22 #Javascript
AngularJS中一般函数参数传递用法分析
Nov 22 #Javascript
javascript入门之string对象【新手必看】
Nov 22 #Javascript
模板视图和AngularJS之间冲突的解决方法
Nov 22 #Javascript
js入门之Function函数的使用方法【新手必看】
Nov 22 #Javascript
AngularJS变量及过滤器Filter用法分析
Nov 22 #Javascript
You might like
php递归json类实例
2014/12/02 PHP
分享PHP源码批量抓取远程网页图片并保存到本地的实现方法
2015/12/01 PHP
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
PHP正则删除HTML代码中宽高样式的方法
2017/06/12 PHP
JavaScript基本对象
2007/01/11 Javascript
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
js 蒙版进度条(结合图片)
2010/03/10 Javascript
3Z版基于jquery的图片复选框(asp.net+jquery)
2010/04/12 Javascript
Javascript绝句欣赏 一些经典的js代码
2012/02/22 Javascript
javascript中定义私有方法说明(private method)
2014/01/27 Javascript
JS对文本框值的判断示例
2014/03/10 Javascript
JS截取url中问号后面参数的值信息
2014/04/29 Javascript
iframe里的页面禁止右键事件的方法
2014/06/10 Javascript
javascript实现label标签跳出循环操作
2016/03/06 Javascript
JQuery和PHP结合实现动态进度条上传显示
2016/11/23 Javascript
nodejs入门教程一:概念与用法简介
2017/04/24 NodeJs
在vue项目中使用md5加密的方法
2018/09/14 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
2019/03/14 Javascript
简单通过settimeout看javascript的运行机制
2019/05/10 Javascript
vue移动端写的拖拽功能示例代码
2020/09/09 Javascript
JavaScript canvas实现跟随鼠标移动小球
2021/02/09 Javascript
python中的yield使用方法
2014/02/11 Python
Python中实现远程调用(RPC、RMI)简单例子
2014/04/28 Python
Python实现从百度API获取天气的方法
2015/03/11 Python
Python命令行参数解析模块getopt使用实例
2015/04/13 Python
python多进程实现进程间通信实例
2017/11/24 Python
python脚本实现验证码识别
2018/06/07 Python
Python.append()与Python.expand()用法详解
2019/12/18 Python
利用Python将多张图片合成视频的实现
2020/11/23 Python
python opencv肤色检测的实现示例
2020/12/21 Python
Html5导航栏吸顶方案原理与对比实现
2020/06/10 HTML / CSS
美国女士内衣在线折扣商店:One Hanes Place
2019/03/24 全球购物
安全生产承诺书范文
2014/05/22 职场文书
劳保用品管理制度范本
2015/08/06 职场文书
护士岗前培训心得体会
2016/01/08 职场文书
Python语言内置数据类型
2022/02/24 Python