vue v-on:clickは動的パラメータを伝えるステップです。


最近のプロジェクトではサイクルリストのために現在のクリックリストのデータを動的に転送します。長い間調べたが、完璧な解決策は一つもありません。
新米はvueのイベントプロセッサとjqueryのセレクタで不同な案を作っただけで、この問題を解決することができます。この記録を残しておくと、もっといい解決方法があります。
需要:列ごとに渡すパラメーターによって、パチンコの後はポイントが足ります。直接買うかそれとも足りないかを決めます。


二、ページコード[伝えることができないパラメータを、カスタムタグdate-i dに入れました。]

<div class="ticket-main">
     <a href="javascript:void(0);" rel="external nofollow" 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>
三、jsコード

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"},
    ]
   });
}
公式文書では、オブジェクトについて「元のDOMイベントを傍受する場合、メソッドはイベントを一意のパラメータとする。インラインステートメントを使用すると、ステートメントは$ev-on:click="handle('ok'、$event)"にアクセスできます。
handle(e){e.current Target}
方法受信時に取ったのはクリックしたそのDOMそのものです。
handle(e){e.target}
メソッド受信時に取るのはクリックしたこの要素です。
handle(e){e.tagName}
方法受信時に取ったのはクリックしたこの元素のラベル名です。
補足知識:VUEの命令行はエラーを報告します。Component template shound contain exactly one root element.If Youre using v-inf on multile elemens、use v-else-instead解決方法
Failed to comple.
./node_modules/vue-loader/lib/template-compler?id":"data-v-5926570","has Scomped":true,"trnsformTorequire":":"“““““““””““””“”,“”.”src",",“src”,“marge”:“xlink:href.”node_modules/vue-loader/lib/selector.js?type=template&index=0!src/page/home/Home.vue(Emitted value instead of an instance of Errer)
Error compling template:
ここがトップページです。
-Component template shuld contain exactly one root element.If you are using v-inf on multile element,use v-else-into chain them instead.
@./src/page/home/Home.vue 11:0-366
@./src/router/index.js
@./src/main.js
@multi(webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server./src/main.js
vueを書く時、いつも一面の新聞に間違えられて驚きました。
実は多くの時、すべていくつかの小さい欠点です。
例えば今回、文字翻訳から言えば、Component template shound contain exactly one root element.If Youre using v-inf on multile element、use v-else-into chain them insteadという言葉はもう分かりました。
これはルート要素を含んでいます。複数の要素にV-IFが使用される場合、V-ELS-IFを使用してそれらをリンクする。
しかし、このように言うと、まだ初心者にはちょっと頭がよく分かりません。つまり、モデル版にはメインdiv(ルートオブジェクト)が一つしかありません。複数の要素があれば、メインdivを使って彼らを含めてください。
エラーコードは以下の通りです。

<template>
 <div><el-header class="animated faedOutUp"><myHeader></myHeader></el-header></div>
 <div>      </div>
</template>
修正後は以下の通りです

<template>
 <div>
  <el-header class="animated faedOutUp"><myHeader></myHeader></el-header>
  <div>      </div>
 </div>
</template>
実行を保存します。エラーが解決しました。

以上のこのvue v-on:clickは動的なパラメーターのステップを伝達して、小さい編纂はみんなのすべての内容に分かち合って、みんなに1つの参考をあげることができることを望んで、みんながよけいに私達を支持することをも望みます。