vue如何給自定義的組件綁定點擊事件
給自定義的組件綁定點擊事件
在做項目中我們往往會封裝許多的組件,來減少代碼的重復(fù)性,提高代碼的可利用性,有時候也會給組件綁定事件,但是經(jīng)常會失效。
先給cardinfo這個組件綁定一個點擊事件
? ? ?<cardinfo ? ? ? ? :content="content" ? ? ? ? :from="from" ? ? ? ? :ProPortrait="ProPortrait" ? ? ? />
一般都是這樣給點擊事件,可是有時候這個事件是沒用的,因為這個事件是引用組件頁面的事件,而不是組件本身的事件,所以組件內(nèi)不能識別這個事件的來源。
? ? ?<cardinfo ? ? ? ?@click="goodclick" ? ? ? ? :content="content" ? ? ? ? :from="from" ? ? ? ? :ProPortrait="ProPortrait" ? ? ? />
在@click后面加native表示的是當(dāng)前頁面的事件
? <cardinfo ? ? ? ? @click.native="goodclick" ? ? ? ? :content="content" ? ? ? ? :from="from" ? ? ? ? :ProPortrait="ProPortrait" ? ? ? />
給自定義組件添加單擊事件
自己定義了一個按鈕按組件
<template>
? <div>
? ? ?<div class="endBtn">
? ? ? ?<van-button type="danger" block color="linear-gradient( to left ,#F24B0B, #FF4A44 )">{{btnMsg}}</van-button>
? ? </div>
? </div>
</template><script>
export default {
? name: 'UiEndbutton',
? props:["btnMsg"],
? data() {
? ? return {
? ? ??
? ? };
? },
? mounted() {
? ??
? },
? methods: {
? ??
? },
};
</script><style lang="stylus" scoped> ? ?.endBtn ? ? ? width: 345px ? ? ? height: 44px ? ? ? border-radius: 4px ? ? ? background: radial-gradient(#F24B0B ?100%,#FF4A44 ? 100%); ? ? ? margin-top: 15px ? ? ? margin-left: 15px </style>
在其他的頁面引用這個組件
引入
import EndButton from '@/components/EndButton.vue';
export default {
? name: 'UiEndyuyuetransfer',
? ?components:{
? ? ?PageTop,
? ? ? YuyueDetailItem,
? ? ? EndButton,
? ?},
? ?methods:{
? ?toEndYuyueTransferResult(){
? ?this.$router.push({name:"EndYuyueTransferResult"})
? ?}
? ?}
}在頁面中
<end-button btnMsg="終止" @click="toEndYuyueTransferResult"></end-button>
點擊按鈕你會發(fā)現(xiàn),方法沒有被觸發(fā)。
給vue組件綁定事件時候,必須加上native ,否則會認(rèn)為監(jiān)聽的是來自Item組件自定義的事件。
<end-button btnMsg="終止" @click.native="toEndYuyueTransferResult"></end-button>
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
原生JS實現(xiàn)Vue transition fade過渡動畫效果示例
這篇文章主要為大家介紹了原生JS實現(xiàn)Vue transition fade過渡動畫效果示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06
Vue2 配置 Axios api 接口調(diào)用文件的方法
本篇文章主要介紹了Vue2 配置 Axios api 接口調(diào)用文件的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11
詳解基于vue-router的動態(tài)權(quán)限控制實現(xiàn)方案
本篇文章主要介紹了詳解基于vue-router的動態(tài)權(quán)限實現(xiàn)方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09
解決cordova+vue 項目打包成APK應(yīng)用遇到的問題
這篇文章主要介紹了解決cordova+vue 項目打包成APK應(yīng)用遇到的問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05
vue調(diào)試工具vue-devtools安裝及使用方法
本文主要介紹 vue的調(diào)試工具 vue-devtools 的安裝和使用,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友參考下吧2018-11-11

