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)對象

相關文章
相關標籤/搜索