网络编程 
首页 > 网络编程 > 浏览文章

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

(编辑:jimmy 日期: 2024/11/17 浏览:3 次 )

如下所示:

//自定义指令 "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之带参方法传递详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

上一篇:详解基于vue-cli3.0如何构建功能完善的前端架子
下一篇:Vue中的作用域CSS和CSS模块的区别
一句话新闻
Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。