angularJS自定义directive之带参方法传递详解

时间:2021-05-28

如下所示:

//自定义指令 "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}必须是一个键值对,键为:方法参数名 值为:传递的内容

以上这篇angularJS自定义directive之带参方法传递详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

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

相关文章