鍍金池/ 問答/HTML/ app.vue中綁定@click="add",在其他頁面定義

app.vue中綁定@click="add",在其他頁面定義add方法的邏輯

問題描述

我在app.vue中寫了些結(jié)構(gòu)當(dāng)作公共部分,其中一個按鈕(此按鈕為公共部分,很多頁面都用得到)上綁定了@click="add",然后在首頁和其他頁面都用到了公共部分的這個按鈕,而且需要每個頁面單獨定義點擊這個按鈕的add()方法的邏輯。該怎么做?

回答
編輯回答
互擼娃

解決思路

1、 先在router-view中定義ref
<router-view ref="router"></router-view>
2、 利用refs,進(jìn)行對應(yīng)界面的指定事件調(diào)用
watch:{
   '$route'(){
        /**
         * 因為可能你有的界面不需要這個事件,所以在這里進(jìn)行一次判斷
         *判斷這個路由的對應(yīng)文件中是否存在 add的這個function,如果有才執(zhí)行,否則不執(zhí)行
         */
        if(this.$refs.router.add){
            this.$refs.router.add();        
        }
    }
}
2017年6月4日 05:36
編輯回答
清夢

watch $route 不同頁面 那個dom.onclick(()=》 {})

2018年5月4日 15:48
編輯回答
安于心

建議從vue組件化入手,把你說的那個結(jié)構(gòu)抽成一個組件,在不同頁面引入
搭配父子組件emit來實現(xiàn)->每個頁面單獨定義點擊這個按鈕的add()方法

2018年2月26日 00:24