亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue組件中添加@click失效問題及解決

 更新時間:2024年08月16日 15:19:58   作者:小何同學-  
這篇文章主要介紹了vue組件中添加@click失效問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

vue組件中添加@click失效

遇到了一個非常蠢的bug,在vue組件中添加click事件無效,@click.native也無效

想添加一個click事件來切換歌曲

<div class="playlist">
<div class="playItem" v-for="(item,i) in playlist.tracks" :key="item.id"  @click="setPlayIndex(i)"></div>
</div>

結(jié)果click事件一直無效,試了@click.native也無效,總之很多網(wǎng)上別的方法都試過了都不行...

查看事件監(jiān)聽器也有click,但是是怎么回事呢?

原來是!

我之前在歌單組件playlist里面寫了個z-index:-1;

 .playlist{
      width: 7.5rem;
      padding: 0 0.4rem;
      background: linear-gradient(rgba(255,255,255,.7),rgba(255,255,255,1));
      position: relative;
      top: -0.5rem;
      border-top-right-radius: 1rem;
      border-top-left-radius: 1rem;
      z-index:-1;
}

然后其實一直點擊不到而已!

刪掉就好了。

@click失效?@click.native

問題描述

練習uniapp開發(fā)的時候,封裝好了一個組件,但是給組件綁定了@click事件后,事件卻沒有執(zhí)行。

主要代碼如下

<div class="row" v-for="item in newsArr" :key="item.id">
	<newsbox :item="item" @click="goDetail(item)"></newsbox>
</div>


//跳轉(zhuǎn)到詳情頁
goDetail(item){				
	uni.navigateTo({
		url:`/pages/detail/detail?cid=${item.classid}&id=${item.id}`
				})
},

newsbox是我自己封裝的一個組件,問題就出在這兒,newsbox是子組件,想要直接在父組件觸發(fā)click方法,直接寫上@click是不能觸發(fā)方法的。

這時候需要在@click.native就可以解決了,可是為什么呢

官網(wǎng)的解釋

你可能想在某個組件的根元素上監(jiān)聽一個原生事件。可以使用 v-on 的修飾符 .native 。

通俗點講

就是在父組件中給子組件綁定一個原生的事件,就將子組件變成了普通的HTML標簽,不加’. native’事件是無法觸 發(fā)的。

可以理解為該修飾符的作用就是把一個vue組件轉(zhuǎn)化為一個普通的HTML標簽,并且該修飾符對普通HTML標簽是沒有任何作用的。

更細一點來講

是因為使用.native之后父級組件可以像處理原生的DOM事件一樣通過 v-on 監(jiān)聽子組件實例的任意事件(@即為v-on:的簡寫),如果不加natvie,會認為監(jiān)聽的是來自子組件自定義的事件,然而子組件內(nèi)也沒有使用$emit()來將子組件的觸發(fā)事件拋出,因此onSubmit()方法沒有執(zhí)行。

這里也引出了對綁定@click無效有兩種解決方法

  • 在組件上綁定@click.native=”XXX”,
  • 子組件中添加 this.$emit (“click” ,value) 方法 將子組件的值傳到父組件。

但是這種方法相對麻煩,比如組件中有多個事件,需要重復添加 $emit () 方法。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • element?ui設置table自適應表格寬,不自動換行問題

    element?ui設置table自適應表格寬,不自動換行問題

    這篇文章主要介紹了element?ui設置table自適應表格寬,不自動換行問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • vue-router命名路由和編程式路由傳參講解

    vue-router命名路由和編程式路由傳參講解

    今天小編就為大家分享一篇關(guān)于vue-router命名路由和編程式路由傳參講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • VUE組件簡明講解

    VUE組件簡明講解

    組件是什么?組件是用基礎的元素組成的復雜的、可以重復使用的代碼單元,就相當于疊疊樂一樣的快件,可以將這些復用的代碼封裝其起來構(gòu)成的組件可需要的時候進行調(diào)用
    2022-08-08
  • vue-cli單頁應用改成多頁應用配置詳解

    vue-cli單頁應用改成多頁應用配置詳解

    本篇文章主要介紹了vue-cli單頁應用改成多頁應用配置詳解,具有一定的參考價值,有興趣的可以了解一下
    2017-07-07
  • 在vue中使用SockJS實現(xiàn)webSocket通信的過程

    在vue中使用SockJS實現(xiàn)webSocket通信的過程

    最近接到一個業(yè)務需求,需要做一個聊天信息的實時展示的界面,下面小編把實現(xiàn)過程記錄下來,對vue中使用SockJS實現(xiàn)webSocket通信的相關(guān)知識感興趣的朋友一起看看吧
    2018-08-08
  • VUE更換背景顏色的方法

    VUE更換背景顏色的方法

    這篇文章主要介紹了VUE更換背景顏色的方法,?在這個示例中,我們使用了一個backgroundColor變量來存儲當前頁面的背景顏色,當用戶點擊按鈕時,我們通過調(diào)用setBackgroundColor方法來更改背景顏色,并將背景顏色同時應用于body元素,需要的朋友可以參考下
    2024-03-03
  • vue源碼解析computed多次訪問會有死循環(huán)原理

    vue源碼解析computed多次訪問會有死循環(huán)原理

    這篇文章主要為大家介紹了vue源碼解析computed多次訪問會有死循環(huán)原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • Vue使用electron生成桌面應用過程詳解

    Vue使用electron生成桌面應用過程詳解

    這篇文章主要介紹了Vue使用electron生成桌面應用過程,很想使用 electron 制作一個桌面應用,但是真的上手使用的時候才發(fā)現(xiàn) electron 的坑實在是太多了,先將遇到的坑記錄在這里,遇到一個記錄一個
    2023-04-04
  • Vue配合iView實現(xiàn)省市二級聯(lián)動的示例代碼

    Vue配合iView實現(xiàn)省市二級聯(lián)動的示例代碼

    本篇文章主要介紹了Vue配合iView實現(xiàn)省市二級聯(lián)動的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Vue-cli中為單獨頁面設置背景色的實現(xiàn)方法

    Vue-cli中為單獨頁面設置背景色的實現(xiàn)方法

    下面小編就為大家分享一篇Vue-cli中為單獨頁面設置背景色的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02

最新評論