AngularJS指令与控制器之间的交互功能示例


Posted in Javascript onDecember 14, 2016

本文实例讲述了AngularJS指令与控制器之间的交互功能。分享给大家供大家参考,具体如下:

本节我们来看控制器与指令之间的交互

1.首先来看最简单的,在指令中调用父控制器的方法:

<div ng-controller="myController1">
</div>
app.controller('myController1',['$scope',function($scope){
    $scope.load=function(){
     console.log('正在加载数据......');
    }
}]);
app.directive('myTest',function(){
    return{
      restrict:'E',
      link:function(scope,ele,attr){
        ele.bind('mouseenter',function(){
          scope.load();
        })
      }
    }
})

在第一节中,我们已经知道了如何在指令的scope参数中调用父控制器中的方法,这里的:

scope.load();

也可以写成:

scope.$apply('load()');

2.同一个指令,在动态调用多个父类控制器中的方法:

<div ng-controller="myController1" loadMore="load1()"</div>
<div ng-controller="myController2" loadMore="load2()"></div>
app.controller('myController1',['$scope',function($scope){
    $scope.load1=function(){
     console.log('正在加载数据......');
    }
}]);
app.controller('myController2',['$scope',function($scope){
    $scope.load2=function(){
    console.log('正在加载数据........');
    }
}]);
app.directive('myTest',function(){
    return{
      restrict:'E',
      link:function(scope,ele,attr){
        ele.bind('mouseenter',function(){
          scope.$apply(attr.loadmore())
        })
      }
    }
})

注意这里:

scope.$apply(attr.loadmore());

loadmore是小写,而在html中,属性是通过驼峰法则得到的。

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

Javascript 相关文章推荐
在父页面调用子页面的JS方法
Sep 29 Javascript
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
Apr 12 Javascript
js中通过父级进行查找定位元素
Jun 15 Javascript
node.js+express制作网页计算器
Jan 17 Javascript
js闭包引起的事件注册问题介绍
Mar 29 Javascript
JavaScript程序中实现继承特性的方式总结
Jun 24 Javascript
解决URL地址中的中文乱码问题的办法
Feb 10 Javascript
Vue监听数组变化源码解析
Mar 09 Javascript
vue 中swiper的使用教程
May 22 Javascript
Vue条件循环判断+计算属性+绑定样式v-bind的实例
Sep 18 Javascript
vue组件系列之TagsInput详解
May 14 Javascript
vue 授权获取微信openId操作
Nov 13 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
Dec 14 #Javascript
AngularJS定时器的使用与移除操作方法【interval与timeout】
Dec 14 #Javascript
本地Bootstrap文件字体图标引入却无法显示问题的解决方法
Apr 18 #Javascript
微信小程序中使元素占满整个屏幕高度实现方法
Dec 14 #Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
Dec 14 #Javascript
bootstrap modal弹出框的垂直居中
Dec 14 #Javascript
微信小程序 免费SSL证书https、TLS版本问题的解决办法
Dec 14 #Javascript
You might like
解析phpstorm + xdebug 远程断点调试
2013/06/20 PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
2014/08/20 PHP
Apache服务器下防止图片盗链的办法
2015/07/06 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
PHP实现财务审核通过后返现金额到客户的功能
2019/07/04 PHP
laravel清除视图缓存的代码
2019/10/23 PHP
JavaScript Date对象 日期获取函数
2010/12/19 Javascript
再谈javascript图片预加载技术(详细演示)
2011/03/12 Javascript
Jquery实现视频播放页面的关灯开灯效果
2013/05/27 Javascript
jQuery弹出框代码封装DialogHelper
2015/01/30 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
原生JS实现的碰撞检测功能示例
2018/05/18 Javascript
angularjs实现table表格td单元格单击变输入框/可编辑状态示例
2019/02/21 Javascript
JavaScript, select标签元素左右移动功能实现
2020/05/14 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
[01:25]2015国际邀请赛最佳短片奖——斧王《拆塔英雄:天赋异禀》
2015/09/22 DOTA
Python脚本在Appium库上对移动应用实现自动化测试
2015/04/17 Python
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
python生成tensorflow输入输出的图像格式的方法
2018/02/12 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
2020/03/06 Python
Python爬虫之Selenium鼠标事件的实现
2020/12/04 Python
Python爬虫分析微博热搜关键词的实现代码
2021/02/22 Python
HSRP的含义以及如何工作
2014/09/10 面试题
MVC的各个部分都有那些技术来实现?如何实现?
2016/04/21 面试题
大学军训感言300字
2014/03/09 职场文书
2014年预备党员端正入党动机思想汇报
2014/09/13 职场文书
2014年商场国庆节活动策划方案
2014/09/16 职场文书
买卖合同协议书范本
2014/10/18 职场文书
民事赔偿协议书
2014/11/02 职场文书
公司放假通知怎么写
2015/04/15 职场文书
学术会议开幕词
2016/03/03 职场文书
纪念建国70周年演讲稿
2019/07/19 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书
励志语录:你若不勇敢,谁替你坚强
2019/11/08 职场文书
源码分析Redis中 set 和 sorted set 的使用方法
2022/03/22 Redis
CSS 实现角标效果的完整代码
2022/06/28 HTML / CSS