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 相关文章推荐
jQuery 各种浏览器下获得日期区别
Dec 22 Javascript
firefo xml 读写实现js代码
Jun 11 Javascript
JavaScript中URL编码函数代码
Jan 11 Javascript
js模拟点击以提交表单为例兼容主流浏览器
Nov 29 Javascript
告诉你什么是javascript的回调函数
Sep 04 Javascript
Jquery中offset()和position()的区别分析
Feb 05 Javascript
轻松掌握JavaScript策略模式
Aug 25 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
Feb 12 Javascript
vue超时计算的组件实例代码
Jul 09 Javascript
Vue.js中 v-model 指令的修饰符详解
Dec 03 Javascript
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
Jul 26 Javascript
JS Thunk 函数的含义和用法实例总结
Apr 08 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
150kHz到30Mhz完全冲浪手册
2020/03/20 无线电
为何说PHP引用是个坑,要慎用
2018/04/02 PHP
Nginx+php配置文件及原理解析
2020/12/09 PHP
jquery加载页面的方法(页面加载完成就执行)
2011/06/21 Javascript
关于js遍历表格的实例
2013/07/10 Javascript
javascript的内存管理详解
2013/08/07 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
2015/06/08 Javascript
JavaScript去除数组里重复值的方法
2015/07/13 Javascript
基于JavaScript实现瀑布流布局(二)
2016/01/26 Javascript
JS获取字符串实际长度(包含汉字)的简单方法
2016/08/11 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
layer弹出层父子页面事件相互调用方法
2018/08/17 Javascript
Vue.js实现开发购物车功能的方法详解
2019/02/22 Javascript
JavaScript中将值转换为字符串的五种方法总结
2019/06/06 Javascript
javascript实现图片轮播代码
2019/07/09 Javascript
Python使用getpass库读取密码的示例
2017/10/10 Python
python opencv实现任意角度的透视变换实例代码
2018/01/12 Python
python字典改变value值方法总结
2019/06/21 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
Python3.7下安装pyqt5的方法步骤(图文)
2020/05/12 Python
如何在Python对Excel进行读取
2020/06/04 Python
Python 多进程、多线程效率对比
2020/11/19 Python
详解CSS 3 中的 calc() 方法
2018/01/12 HTML / CSS
css3实现动画的三种方式
2020/08/24 HTML / CSS
英国的知名精品百货公司:House of Fraser(福来德)
2016/08/14 全球购物
销售高级职员求职信
2013/10/29 职场文书
单位未婚证明范本
2014/01/18 职场文书
个人求职信范例
2014/01/29 职场文书
2014年机关植树节活动方案
2014/02/27 职场文书
三月雷锋月活动总结
2014/07/03 职场文书
退休党员个人对照检查材料思想汇报
2014/09/29 职场文书
党员对十八届四中全会的期盼思想汇报范文
2014/10/17 职场文书
工程主管竞聘书
2015/09/15 职场文书
2019年家电促销广告语集锦
2019/10/21 职场文书
了解Redis常见应用场景
2021/06/23 Redis
聊聊配置 Nginx 访问与错误日志的问题
2022/05/25 Servers