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 ,否則會認為監(jiān)聽的是來自Item組件自定義的事件。
<end-button btnMsg="終止" @click.native="toEndYuyueTransferResult"></end-button>
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于SpringBoot與Vue交互跨域問題解決方案
最近在利用springboot+vue整合開發(fā)一個前后端分離的個人博客網(wǎng)站,所以這一篇總結(jié)一下在開發(fā)中遇到的一個問題,關(guān)于解決在使用vue和springboot在開發(fā)前后端分離的項目時,如何解決跨域問題。在這里分別分享兩種方法,分別在前端vue中解決和在后臺springboot中解決。2021-10-10
Node.js使用orm2進行update操作時關(guān)聯(lián)字段無法修改的解決方法
這篇文章主要給大家介紹了Node.js使用orm2進行update操作時關(guān)聯(lián)字段無法修改的解決方法,文中給出了詳細的示例代碼供大家參考學(xué)習(xí),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-06-06
詳解element-ui動態(tài)限定的日期范圍選擇器代碼片段
這篇文章主要介紹了element-ui動態(tài)限定的日期范圍選擇器代碼片段,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07

