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

时间:2021-05-28

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《AngularJS入门与进阶教程》及《AngularJS MVC架构总结》

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章