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

vue中的事件觸發(fā)(emit)及監(jiān)聽(on)問題

 更新時間:2022年10月09日 11:10:57   作者:榮亦  
這篇文章主要介紹了vue中的事件觸發(fā)(emit)及監(jiān)聽(on)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vue事件觸發(fā)(emit)及監(jiān)聽(on)

每個 vue 實例都實現(xiàn)了事件接口

  • 1.使用 $on(eventName,callback) 監(jiān)聽事件
  • 2.使用 $emit(eventName,[…args]) 觸發(fā)事件

$emit 和 $on 必須都在實例上進行觸發(fā)和監(jiān)聽。

// on監(jiān)聽emit觸發(fā)的事件
created:function(){
? ? this.$on('emitFn',(arg)=> {
? ? ? ? ? console.log('on監(jiān)聽參數(shù)====',arg) ?//['string',false,{name:'vue'}]
? ? ? })
? },
? methods:{
? ? emit () {
? ? ?? ?// $emit 事件觸發(fā) ?參數(shù)是多個不同的數(shù)據(jù)類型時 用數(shù)組傳遞
? ? ? ? ?this.$emit('emitFn',['string',false,{name:'vue'}])
? ? ? ? ?
? ? ? ? ?// 監(jiān)聽多個emit事件,將事件名用數(shù)組形式寫 ?['emitFn1','emitFn2'];
? ? ? ? ? this.$emit(['emitFn1','emitFn2'],'arg1')
? ? ? }
? }

案例

通過在父級組件中,拿到子組件的實例進行派發(fā)事件,然而在子組件中事先進行好派好事件監(jiān)聽的準(zhǔn)備,接收到一一對應(yīng)的事件進行一個回調(diào),同樣也可以稱之為封裝組件向父組件暴露的接口。

vue emit事件無法觸發(fā)問題

在父組件中定義事件監(jiān)聽,會出現(xiàn)無法觸發(fā)對應(yīng)的事件函數(shù),在下面的代碼中,我想通過v-on:event_1=“handle”, 想監(jiān)聽子組件中的event_1事件,但盡管事件發(fā)生了, 但還是觸發(fā)不了,這個問題在于v-on:event_1="handle"的位置,需要放在 <my-template :users=“users” v-on:event_1=“handle” ></my-template> 中。

<body>
    <div id='app' v-on:event_1="handle1">
        <my-template :users="users"></my-template>
    </div>
    
</body>
<script>
    Vue.component('my-template', {
        data: function () {
            return {
                test:"hello"
            }
        },
        props: ["users"],
        template: `
        <div>
            <ul>
                <li v-for="item in users" :key="item.id">
                    <div>
                    <label>name:</label>
                    {{item.name}}
                    <label>content:</label>
                    {{item.content}}
                    <label>time:</label>
                    {{item.time}}
                    <input type="button" value="remove" @click="remove(item.id)"></input>
                    <input type="button" value="通知" @click="$emit('event_1',this)"></input>
                    </div>
                </li>
            </ul>
        </div>
    `,
    methods:{
        remove(id){
            console.log(id);
            for(let i = 0; i<this.users.length;++i){
                if(this.users[i].id == id){
                    this.users.splice(i,1);
                    break;
                }
            }
        },
        notice(id){
            console.log("notice", id);
            
        },
        handle(e){
            console.log("son handle",e)
        }
    }
    })
    var vm = new Vue({
        el: '#app',
        data: {
            posts: [
                { id: 1, title: 'My journey with Vue' },
                { id: 2, title: 'Blogging with Vue' },
                { id: 3, title: 'Why Vue is so fun' }
            ],
            postFontSize: 1,
            searchText: 'hello',
            users:[
                {
                    name:"zhangsan",
                    id:'1',
                    time:new Date().getUTCDate(),
                    content:"白日依山盡,黃河入海流"
                },
                {
                    name:"lisi",
                    id:'2',
                    time:new Date().getUTCDate(),
                    content:"會當(dāng)凌絕頂,一覽眾山小"
                },
                {
                    name:"wangwu",
                    id:'3',
                    time:new Date().getUTCDate(),
                    content:"大漠孤煙直,長河落日圓"
                }
            ]
        },
        methods:{
            handle1(e){
                console.log("event 事件觸發(fā),參數(shù)為:",e);
            }
        }
    })
</script>

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

相關(guān)文章

  • Vue 組件修改根實例的數(shù)據(jù)的方法

    Vue 組件修改根實例的數(shù)據(jù)的方法

    這篇文章主要介紹了Vue 組件修改根實例的數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Vue3項目中的hooks的使用教程

    Vue3項目中的hooks的使用教程

    今天我們稍微說一下 vue3 項目中的 hooks 的使用,其實這個 hooks 呢是和 vue2 當(dāng)中的 mixin 是類似的,學(xué)習(xí)過 vue2 的小伙伴一定對 mixin 一定比較熟悉,快跟隨小編一起來學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 淺析Vue中渲染函數(shù)的使用

    淺析Vue中渲染函數(shù)的使用

    在Vue中,渲染函數(shù)是一種用于動態(tài)生成組件的函數(shù),可以將組件的模板代碼編寫為JavaScript代碼,并在運行時進行渲染,下面我們就來看看它的具體用法吧
    2023-08-08
  • vue自定義過濾器創(chuàng)建和使用方法詳解

    vue自定義過濾器創(chuàng)建和使用方法詳解

    這篇文章主要為大家詳細介紹了vue自定義過濾器創(chuàng)建和使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • vue-treeselect無法點擊問題(點擊無法出現(xiàn)拉下菜單)

    vue-treeselect無法點擊問題(點擊無法出現(xiàn)拉下菜單)

    這篇文章主要介紹了vue-treeselect無法點擊問題(點擊無法出現(xiàn)拉下菜單),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue瀏覽器鏈接與接口參數(shù)實現(xiàn)加密過程詳解

    Vue瀏覽器鏈接與接口參數(shù)實現(xiàn)加密過程詳解

    這篇文章主要介紹了Vue瀏覽器鏈接與接口參數(shù)實現(xiàn)加密過程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-12-12
  • vue項目實現(xiàn)背景顏色以及下劃線從左到右漸變動畫效果

    vue項目實現(xiàn)背景顏色以及下劃線從左到右漸變動畫效果

    這篇文章主要介紹了vue項目實現(xiàn)背景顏色以及下劃線從左到右漸變動畫效果,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 在vue中獲取微信支付code及code被占用問題的解決方法

    在vue中獲取微信支付code及code被占用問題的解決方法

    這篇文章主要介紹了在vue中獲取微信支付code及code被占用問題的解決方法。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-04-04
  • 為vue項目自動設(shè)置請求狀態(tài)的配置方法

    為vue項目自動設(shè)置請求狀態(tài)的配置方法

    這篇文章主要介紹了vue項目自動設(shè)置請求狀態(tài)的配置方法,本文通過示例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • vue實現(xiàn)帶復(fù)選框的樹形菜單

    vue實現(xiàn)帶復(fù)選框的樹形菜單

    這篇文章主要為大家詳細介紹了vue實現(xiàn)帶復(fù)選框的樹形菜單,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05

最新評論