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 相关文章推荐
JavaScript 快捷键设置实现代码
Mar 13 Javascript
基于jQuery的星级评分插件
Aug 12 Javascript
用JS做的简单的可折叠的两级树形菜单
Sep 21 Javascript
JavaScript实现动态添加,删除行的方法实例详解
Jul 02 Javascript
微信小程序 wx.request(接口调用方式)详解及实例
Nov 23 Javascript
js清除浏览器缓存的几种方法
Mar 15 Javascript
addeventlistener监听scroll跟touch(实例讲解)
Aug 04 Javascript
ES6扩展运算符用法实例分析
Oct 31 Javascript
vue init webpack myproject构建项目 ip不能访问的解决方法
Mar 20 Javascript
js笔试题-接收get请求参数
Jun 15 Javascript
原生JavaScript实现的无缝滚动功能详解
Jan 17 Javascript
JavaScript小技巧带你提升你的代码技能
Sep 15 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
PHP为表单获取的URL 地址预设 http 字符串函数代码
2010/05/26 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
php在linux下检测mysql同步状态的方法
2015/01/15 PHP
详解PHP对数组的定义以及数组的创建方法
2015/11/27 PHP
php文件上传的两种实现方法
2016/04/04 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
js parsefloat parseint 转换函数
2010/01/21 Javascript
jquery ajax执行后台方法
2010/03/18 Javascript
jQuery EasyUI 的EasyLoader功能介绍
2010/09/12 Javascript
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
2013/05/08 Javascript
JS子父窗口互相操作取值赋值的方法介绍
2013/05/11 Javascript
含有CKEditor的表单如何提交
2014/01/09 Javascript
文本框(input)获取焦点(onfocus)时样式改变的示例代码
2014/01/10 Javascript
JS更改select内option属性的方法
2015/10/14 Javascript
JavaScript iframe数据共享接口实现方法
2016/01/06 Javascript
利用原生JS自动生成文章标题树的实例
2016/08/22 Javascript
JavaScript原生节点操作小结
2017/01/17 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
Node.js连接mongodb实例代码
2017/06/06 Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
2017/07/31 Javascript
深入理解ES6之数据解构的用法
2018/01/13 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
2018/01/15 Javascript
vue中$refs的用法及作用详解
2018/04/24 Javascript
微信小程序实现星级评价
2019/11/20 Javascript
Python中的super用法详解
2015/05/28 Python
解决python3中cv2读取中文路径的问题
2018/12/05 Python
python实现在cmd窗口显示彩色文字
2019/06/24 Python
python默认参数调用方法解析
2020/02/09 Python
图片上传插件ImgUploadJS:用HTML5 File API 实现截图粘贴上传、拖拽上传
2016/01/20 HTML / CSS
Clarins娇韵诗英国官网:来自法国的天然护肤品牌
2017/04/18 全球购物
德国、奥地利和瑞士最大的旅行和度假门户网站:HolidayCheck
2019/11/14 全球购物
毕业自我鉴定
2013/11/05 职场文书
入党自我评价范文
2014/02/02 职场文书
新闻专业毕业生英文求职信
2014/03/19 职场文书
班级读书活动总结
2014/06/30 职场文书
狼牙山五壮士观后感
2015/06/09 职场文书