本文实例讲述了AngularJS指令与指令之间的交互功能。分享给大家供大家参考,具体如下:
前面一篇文章《AngularJS指令与控制器之间的交互功能示例》我们了解了指令与控制器之间的交互,接下来看看指令与指令之间是如何进行交互的。
1.首先来了解一下什么是独立scope
为了更好的理解独立scope,我们来看一段代码:
<div ng-controller="myController1"> <hello></hello> <hello></hello> </div>
var app=angular.module('firstApp',[]);//app模块名 app.controller('myController1',['$scope',function($scope){ }]); app.directive('hello',function(){ return{ restrict:'E', template:"<div><input type='text' ng- model='username'/>{{username}}", replace:true } })
我们定义了一个指令,并在html中调用了两次,我们发现,调用两次的结果为:使用同一个指令构建的scope共享了一个数据,结果如下,我们在一个输入框中输入数据,会改变第二个指令中的输入框
如何解决这个问题呢,我们需要给指令生成独立的scope,每次使用指令时,生成的scope都是独立的,我们只需要如此修改:
app.directive('hello',function(){ return{ restrict:'E', scope:{}, template:"<div><input type='text' ng-model='username'/>{{username}}", replace:true } })
结果如下:
2.指令与指令之间的交互,指令的继承
(1)首先我们定义了一个父指令,定义的方式如下:
app.directive('father',function(){ return{ restrict:'E', scope:{}, controller:function($scope){ this.mean1=function(){ console.log('这是第一个方法....'); }; this.mean2=function(){ console.log('这是第二个方法....'); }; this.mean3=function(){ console.log('这是第三个方法....'); } } } });
我们注意到,指令里面也有controller,这里的controller与控制器定义过程中的不同,这里的controller指的是指令的独立scope中定义的一些方法。
(2)定义子指令,子指令中可以使用父指令中scope中的方法:
app.directive('childFirst',function(){ require:'^father', link:function(scope,ele,attr,fatherCtrl){ fatherCtrl.mean1(); } })
这样通过:
require:'^father'
子指令就可以继承并且使用父指令中,独立scope中的一些方法。此时我们的link函数就可以有第四个参数。
link和controller中方法的区别:
link中的方法是需要执行或者马上要执行的方法。
controller中的方法是希望暴露出来,给外部使用的一些方法。
总结:
指令之间的交互,是通过指令的controller中暴露出来的方法,给外部指令使用。
更多关于AngularJS相关内容感兴趣的读者可查看本站专题:《AngularJS入门与进阶教程》及《AngularJS MVC架构总结》
希望本文所述对大家AngularJS程序设计有所帮助。
标签:
AngularJS,指令,交互
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“AngularJS指令与指令之间的交互功能示例”评论...
更新动态
2024年11月15日
2024年11月15日
- 黄乙玲1988-无稳定的爱心肝乱糟糟[日本东芝1M版][WAV+CUE]
- 群星《我们的歌第六季 第3期》[320K/MP3][70.68MB]
- 群星《我们的歌第六季 第3期》[FLAC/分轨][369.48MB]
- 群星《燃!沙排少女 影视原声带》[320K/MP3][175.61MB]
- 乱斗海盗瞎6胜卡组推荐一览 深暗领域乱斗海盗瞎卡组分享
- 炉石传说乱斗6胜卡组分享一览 深暗领域乱斗6胜卡组代码推荐
- 炉石传说乱斗本周卡组合集 乱斗模式卡组最新推荐
- 佟妍.2015-七窍玲珑心【万马旦】【WAV+CUE】
- 叶振棠陈晓慧.1986-龙的心·俘虏你(2006复黑限量版)【永恒】【WAV+CUE】
- 陈慧琳.1998-爱我不爱(国)【福茂】【WAV+CUE】
- 咪咕快游豪礼放送,百元京东卡、海量欢乐豆就在咪咕咪粉节!
- 双11百吋大屏焕新“热”,海信AI画质电视成最大赢家
- 海信电视E8N Ultra:真正的百吋,不止是大!
- 曾庆瑜1990-曾庆瑜历年精选[派森][WAV+CUE]
- 叶玉卿1999-深情之选[飞图][WAV+CUE]