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去空格处理方法
Nov 18 Javascript
Javascript 错误处理的几种方法
Jun 13 Javascript
利用JQuery动画制作滑动菜单项效果实现步骤及代码
Feb 07 Javascript
js判断选择的时间是否大于今天的代码
Aug 20 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
Jan 22 Javascript
js实现简单的手风琴效果
Feb 27 Javascript
详解Vue.js入门环境搭建
Mar 17 Javascript
webpack配置的最佳实践分享
Apr 21 Javascript
Angular4编程之表单响应功能示例
Dec 13 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
Apr 04 Javascript
vuex实现购物车的增加减少移除
Jun 28 Javascript
js实现扫雷源代码
Nov 27 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 at(@)符号的用法简介
2009/07/11 PHP
PHP curl 抓取AJAX异步内容示例
2014/09/09 PHP
php常用正则函数实例小结
2016/12/29 PHP
php实现头像上传预览功能
2017/04/27 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
laravel5.5添加echarts实现画图功能的方法
2019/10/09 PHP
Javascript 学习笔记 错误处理
2009/07/30 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
AngularJS iframe跨域打开内容时报错误的解决办法
2015/01/26 Javascript
原生JavaScript编写俄罗斯方块
2015/03/30 Javascript
Javascript实现鼠标右键特色菜单
2015/08/04 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
2015/12/03 Javascript
JS实现动态给标签控件添加事件的方法示例
2017/05/13 Javascript
nodejs项目windows下开机自启动的方法
2017/11/22 NodeJs
详解vue.js数据传递以及数据分发slot
2018/01/20 Javascript
ES6基础之默认参数值
2019/02/21 Javascript
[46:43]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第二局
2016/03/02 DOTA
简单的Apache+FastCGI+Django配置指南
2015/07/22 Python
用Python编写简单的微博爬虫
2016/03/04 Python
python 3.7.0 安装配置方法图文教程
2018/08/27 Python
Python操作json的方法实例分析
2018/12/06 Python
Python2.7:使用Pyhook模块监听鼠标键盘事件-获取坐标实例
2020/03/14 Python
Python 中如何使用 virtualenv 管理虚拟环境
2021/01/21 Python
matplotlib更改窗口图标的方法示例
2021/02/03 Python
广州迈达威.net面试题目
2012/03/10 面试题
兼职学生的自我评价
2013/11/24 职场文书
就业自荐书
2013/12/05 职场文书
餐厅采购员岗位职责
2014/03/06 职场文书
法学专业求职信
2014/07/15 职场文书
三方协议书
2015/01/27 职场文书
2015年乡镇发展党员工作总结
2015/03/31 职场文书
施工单位工程部经理岗位职责
2015/04/09 职场文书
初二英语教学反思
2016/02/15 职场文书
golang fmt格式“占位符”的实例用法详解
2021/07/04 Golang
python自动化测试之Selenium详解
2022/03/13 Python
《勇者辞职不干了》ED主题曲无字幕动画MV公开
2022/04/13 日漫