欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

聊聊vue 中的v-on參數(shù)問(wèn)題

 更新時(shí)間:2021年01月29日 09:49:12   作者:Firoly  
這篇文章主要介紹了聊聊vue 中的v-on參數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

vue中v-on:clock的使用

最近在學(xué)習(xí)vue.js框架。記下其中遇到的一些問(wèn)題,以便以后查閱。

首先,這是一個(gè)頁(yè)面(為了便于觀察,將各個(gè)標(biāo)簽都一一著色):

其中html代碼:

<div class="groupbody ">
   <ul class="list ">
     <li v-for="cell in todo.groupbody " class="pagegroupcell " v-on:click="exchange($event)">
       <div class="pagecelltext ">{{ cell.left }}</div>
       <div class="pagecellmin">{{ cell.min }}</div>
       <img src="img/images/direction/right.png" style="width: 20px;height: 30px;float: right;margin-top: 5px;">
       <div class="pagecellmsg ">{{ cell.right }}</div> 
      </li>
    </ul>
    <div class="clear "></div>
</div>

js部分的代碼:

exchange: function (event) {
            alert("開(kāi)始執(zhí)行方法");
            var a = event.target;
            var cellimg = a.getElementsByTagName("div")[0];
            var msg = cellimg.innerText; 
            page2datas.todos[0].groupheader = msg;
            alert("方法執(zhí)行中"); 
            var b = document.getElementById("page1");
            b.style.display = "none";
            var c = document.getElementById("page2");
            c.style.display = "block";
            alert("方法執(zhí)行結(jié)束");
          }

這時(shí)候如果點(diǎn)擊cell中有顏色的區(qū)域(即點(diǎn)擊li標(biāo)簽的字標(biāo)簽的時(shí)候),只有第一個(gè)alert( )方法執(zhí)行,而后面的兩個(gè)方法并不執(zhí)行。

原因就是這個(gè)方法的參數(shù)event:

如果標(biāo)簽綁定的方法中有參數(shù)$event,這時(shí)候就可以利用event.target,獲取到當(dāng)前點(diǎn)被綁定這個(gè)點(diǎn)擊事件的標(biāo)簽。

但是這個(gè)參數(shù)也可能會(huì)造成一些問(wèn)題,比如如果想不論點(diǎn)擊li標(biāo)簽的哪一個(gè)部分都要把點(diǎn)擊事件的方法執(zhí)行完整,這時(shí)候參數(shù)event就不適用了。這時(shí)候只能另想其他辦法。

解決方法:

在li中有v-for循環(huán),其中有一個(gè)cell對(duì)象,這個(gè)對(duì)象居居士li標(biāo)簽中的數(shù)據(jù)。只需要把這個(gè)對(duì)象傳遞給點(diǎn)擊事件的方法,就可以通過(guò)這個(gè)對(duì)象去實(shí)現(xiàn)剛才想要達(dá)到的目的。

修改之后的html代碼:

<div class="groupbody ">
   <ul class="list ">
     <li v-for="cell in todo.groupbody " class="pagegroupcell " v-on:click="exchange(cell)">
       <div class="pagecelltext ">{{ cell.left }}</div>
       <div class="pagecellmin">{{ cell.min }}</div>
       <img src="img/images/direction/right.png" style="width: 20px;height: 30px;float: right;margin-top: 5px;">
       <div class="pagecellmsg ">{{ cell.right }}</div> 
      </li>
    </ul>
    <div class="clear "></div>
</div>

修改之后的js代碼:

 exchange: function (cell) {
        alert("開(kāi)始執(zhí)行方法"); 
        page2datas.todos[0].groupheader =cell.left;
        alert("執(zhí)行中");
        var b = document.getElementById("page1");
        b.style.display = "none";
        var c = document.getElementById("page2");
        c.style.display = "block";
        alert("方法執(zhí)行結(jié)束");
      }

這時(shí)候,整個(gè)電擊事件的執(zhí)行方法都可以完整執(zhí)行下來(lái),后續(xù)頁(yè)面的切換也可以完成。

補(bǔ)充:Vue中關(guān)于v-on綁定點(diǎn)擊事件時(shí)候的參數(shù)問(wèn)題

v-on的綁定點(diǎn)擊事件的時(shí)候關(guān)于參數(shù)有三種情況,分別如下 :

綁定的方法后面沒(méi)有括號(hào)

 <button @click="btnClick">點(diǎn)擊</button>
 <script>
 const app = new Vue({
  methods:{
  btnClick(event){
  // 此時(shí)event就是當(dāng)前點(diǎn)擊的對(duì)象
   console.log(event)
  }
  }
 })
 </script>

綁定的方法后面有括號(hào)

<button @click="btnClick()">點(diǎn)擊</button>
<script>
 const app = new Vue({
 methods:{
  btnClick(event){
  // 此時(shí)event是undefined
  console.log(event)
  }
 }
 })
</script>

綁定的方法后面有括號(hào),需要傳遞參數(shù)

<button @click="btnClick(123)">點(diǎn)擊</button>
<script>
 const app = new Vue({
 methods:{
  btnClick(event){
  // 此時(shí)event是123
  console.log(event)
  }
 }
 })
</script>

綁定的方法后面有括號(hào),需要傳遞參數(shù),并且需要當(dāng)前點(diǎn)擊的對(duì)象

<!-- 這種情況下,如果需要傳遞當(dāng)前點(diǎn)擊的對(duì)象,參數(shù)必須是$event -->
<!-- 第一個(gè)位置如果要傳數(shù)字的話,就不需要加引號(hào),如果要傳一個(gè)字符串的話,就必須要加引號(hào),因?yàn)槿绻患右?hào),Vue就會(huì)當(dāng)做一個(gè)變量來(lái)解析,此時(shí)如果在data中沒(méi)有定義的話,就會(huì)報(bào)錯(cuò) -->
<button @click="btnClick(123,$event)">點(diǎn)擊</button>
<script>
 const app = new Vue({
 methods:{
  btnClick(num,event){
  // 此時(shí)num是123,event是當(dāng)前點(diǎn)擊的對(duì)象,
  console.log(num,event)
  }
 }
 })
</script>

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • 如何使用 vue + d3 畫(huà)一棵樹(shù)

    如何使用 vue + d3 畫(huà)一棵樹(shù)

    這篇文章主要介紹了如何使用 vue + d3 畫(huà)一棵樹(shù),本文通過(guò)文字說(shuō)明加代碼分析的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-12-12
  • vscode中eslint配置保存自動(dòng)修復(fù)代碼示例詳解

    vscode中eslint配置保存自動(dòng)修復(fù)代碼示例詳解

    vscode根據(jù)eslint保存?動(dòng)修復(fù)配置,下面這篇文章主要給大家介紹了關(guān)于vscode中eslint配置保存自動(dòng)修復(fù)代碼的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • Vue?element-ui表格內(nèi)嵌進(jìn)度條功能實(shí)現(xiàn)方法

    Vue?element-ui表格內(nèi)嵌進(jìn)度條功能實(shí)現(xiàn)方法

    Element-Ul是餓了么前端團(tuán)隊(duì)推出的一款基于Vue.js 2.0 的桌面端UI框架,下面這篇文章主要給大家介紹了關(guān)于Vue?element-ui表格內(nèi)嵌進(jìn)度條功能的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • Vue插件使用方法詳情分享

    Vue插件使用方法詳情分享

    這篇文章主要介紹了Vue插件使用方法詳情分享,使用插件之前顯示定義,下文通過(guò)js插件定義展開(kāi)詳細(xì)文章介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-03-03
  • vue中為何方法要寫(xiě)在methods的里面

    vue中為何方法要寫(xiě)在methods的里面

    這篇文章主要介紹了vue中為何方法要寫(xiě)在methods的里面,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 實(shí)例詳解vue中的$root和$parent

    實(shí)例詳解vue中的$root和$parent

    這篇文章主要介紹了vue中的$root和$parent ,本文通過(guò)文字實(shí)例代碼相結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • vue如何重置data的所有屬性

    vue如何重置data的所有屬性

    這篇文章主要介紹了vue如何重置data的所有屬性,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 淺析vue3響應(yīng)式數(shù)據(jù)與watch屬性

    淺析vue3響應(yīng)式數(shù)據(jù)與watch屬性

    這篇文章主要介紹了vue3響應(yīng)式數(shù)據(jù)與watch屬性的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • vue3獲取當(dāng)前路由地址

    vue3獲取當(dāng)前路由地址

    本文詳細(xì)講解了vue3獲取當(dāng)前路由地址的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • 淺談Vue中render中的h箭頭函數(shù)

    淺談Vue中render中的h箭頭函數(shù)

    今天小編就為大家分享一篇淺談Vue中render中的h箭頭函數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11

最新評(píng)論