如下所示:
//自定义指令 "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 >
<label ng-bind="toDir"></label>
<label ng-bind="fromName"></label>
<textarea ng-model="content"></textarea>
<button 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之带参方法传递详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持亿速云。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。