vue v-on:click传递动态参数

最近项目中要为一个循环列表动态传送当前点击列的数据,查了好久资料也没有一个完美的解决方案,javascript

新手只能用vue的事件处理器与jquery的选择器作了一个不三不四的方案,竟然也能解决这个问题,做此记录留待之后会有更好的方法解决这个事情 vue

 

需求:根据每列传递的参数,决定弹窗后面是积分够了去直接购买仍是不够须要去转换java

 

2、页面代码[没法可传的参数,我把它放进了一个自定义标签date-id]jquery

<div class="ticket-main">
         <a href="javascript:void(0);" class="weui_media_box weui_media_appmsg weui_media_box_bg" v-for="item in mediaBox" :date-id="item.num" v-on:click="upHref($event)">
             <div class="weui_media_hd">
                 <img class="weui_media_appmsg_thumb" :src="item.mediaBoxImg" alt="" />
             </div>
             <div class="weui_media_bd">
                 <h4 class="weui_media_title" v-text="item.name">双色球彩票一注</h4>
                 <p class="weui_media_desc"><span class="icon icon-2"></span><span v-text="item.price"></span></p>
             </div>
         </a>
     </div>

3、js代码app

var secretRecipe = new Vue({
    el: "#secret-recipe",
    data: {
        pointsNum: [],
        mediaBox:[]
    },
    methods:{
        upHref:function(e){
            hrefSrc(e.currentTarget);
        }
    }
});
var prize=[
    {mediaBoxImg:"../b2b-reception/images/secret/icon_01.png",name:"双色球彩票一注",price:'250',num:"1"},
    {mediaBoxImg:"../b2b-reception/images/secret/icon_02.png",name:"50M流量",price:'230',num:"2"},
    {mediaBoxImg:"../b2b-reception/images/secret/icon_03.png",name:"景点抽抽乐",price:"300",num:"3"}
    ];
$(function(){
    
    secretRecipe.mediaBox = prize;
    
})

function hrefSrc(v){
    console.log($(v).attr("date-id"));
    $.modal({
        title: "支付方式",
        text: "选择你的支付方式",
        buttons: [
          { text: "转化积分", onClick: function(){ $.alert("你选择了转化积分"); } },
          { text: "当即购买", onClick: function(){ $.alert("你选择了当即购买"); } },
          { text: "取消", className: "default"},
        ]
      });
}

 

重点说明:$event,官方文档中是说该对象【在监听原生 DOM 事件时,方法以事件为惟一的参数。若是使用内联语句,语句能够访问一个 $event 属性:v-on:click="handle('ok', $event)"。】ui

handle(e){e.currentTarget}方法接收时取的是点击的该DOM自己spa

handle(e){e.target}方法接收时取的是点击的该元素code

handle(e){e.target.tagName}方法接收时取的是点击的该元素的标签名(如div.p.img)对象

相关文章
相关标签/搜索