angularJS自定义directive之带参方法传递详解
如下所示:
//自定义指令 "myEmail" grgApp.directive("myEmail",function(){ return{ restrict:'AE', scope:{toDir:'@', fromName:'@', sendEmail:'&' }, templateUrl:'/htmls/main/html/custom/email.html',} }); //控制器中的方法 $scope.send=function(msg){ alert("send email! msg: "+msg); } //email.html <div style="width: 100%;height: 100%;color: white;font-size: 0.8rem;"> <label style="width: 100%;height: 15%;" ng-bind="toDir"></label> <label style="width: 100%;height: 15%;" ng-bind="fromName"></label> <textarea style="width: 100%;height: 25%;color: black;" ng-model="content"></textarea> <button style="width: 10%;height: 15%;color: black;" ng-click="sendEmail({msg:content})">提交</button> </div> //html调用 <my-email to-dir="广东中山" from-name="海南海口" send-email="send(msg)"/>
功能:点击【提交】后,将自定义指令myEmail中textarea元素的内容传递给控制器中的send()方法。
关键点:模板email.html中的ng-click="sendEmail({msg:content})" 参数{msg:content}必须是一个键值对,键为:方法参数名 值为:传递的内容
相关推荐
xingdongfang 2019-11-10
zhenghao 2014-05-30
youyouzouzou 2014-05-30
zbwroom 2014-05-30
Oranq 2017-03-22
LDN0 2014-07-02
CrazyDogWang 2017-09-10
zbwroom 2017-09-10
lujingjing 2019-06-28
CrazyDogWang 2016-06-07
lizean 2016-05-20
zhenghao 2016-05-17
youyouzouzou 2016-05-11
zbwroom 2014-05-30
zhenghao 2014-05-30
lizean 2014-05-30
Cricket 2019-06-26
lizean 2013-12-20