第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

vue 奇葩問題

vue 奇葩問題

慕森王 2019-03-25 11:39:04
今天遇到一個奇葩的問題我使用bus.js傳值然后兄弟組件里面出現(xiàn)一個很怪的問題,我使用2號模塊先制作值,然后3號模塊獲取,但是獲取不到。我使用3號模塊在前就可以。一般邏輯不是得先由2號模塊先做好值然后3號回去嘛,怎么現(xiàn)在我3號在前反而能實現(xiàn)呢??<template>   <div>     <demo-val2></demo-val2>     <demo-val3></demo-val3>   </div></template><script>   import demoVal2 from './demo2.vue'   import demoVal3 from './demo3.vue'   export default {    name: '',    components: {       demoVal2,       demoVal3     }   }</script><template>   <div>demo2</div></template><script>   import bus from './bus.js'   export default {    name: "demo2",     mounted() {      console.log(2222)       bus.$emit('val', 'toval')     }   }</script><template>   <div>demo3</div></template><script>   import bus from './bus.js'   export default {    name: "demo3",     mounted() {      console.log(3333)       bus.$on('val', (data) => {        console.log(data)       })     }   }</script>不顯示123 /*******************************************/ 交換一下<template>   <div>     <demo-val3></demo-val3>     <demo-val2></demo-val2>   </div></template>輸出123這是為什么呢????
查看完整描述

2 回答

?
慕標(biāo)5832272

TA貢獻1966條經(jīng)驗 獲得超4個贊

$on 定義事件
$emit 觸發(fā)事件 你打印的是傳過去的值 肯定要在后面執(zhí)行啊

查看完整回答
反對 回復(fù) 2019-03-25
?
智慧大石

TA貢獻1946條經(jīng)驗 獲得超3個贊

demo2在上面demo3在下面的時候你是先觸發(fā)監(jiān)聽再設(shè)置監(jiān)聽當(dāng)然沒有任何反應(yīng),倒過來就是先設(shè)置監(jiān)聽再觸發(fā)監(jiān)聽就好使了,這個應(yīng)該和頁面的渲染順序有關(guān)系,你可以試著把2放上面3放下面的時候在demo2里面加

setTimeout(() => {
  bus.$emit('val', 'toval')
}, 0)

這樣就可以一直打印出來了


查看完整回答
反對 回復(fù) 2019-03-25
  • 2 回答
  • 0 關(guān)注
  • 456 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號