鍍金池/ 問(wèn)答/HTML/ 為什么可以取得vue實(shí)例對(duì)象卻拿不到它的屬性?

為什么可以取得vue實(shí)例對(duì)象卻拿不到它的屬性?

實(shí)例化代碼

import Vue from 'vue'
export const bus = new Vue({
    data () {
      return {
        url: '',
        hello: 123
      }
    },
    created () {
      this.$on('urlBus', (vall) => {
        this.url = vall
        console.log('歡迎來(lái)到event bus')
      })
    }
  }
)

export default{
    bus: bus
}

在另一個(gè)組件調(diào)用

import bus from '@/components/bus.js'
 past () {
             console.log(bus)
            console.log(bus.$data)
            console.log(bus._data)
            console.log(bus.data)
            bus.$emit('urlBus', this.data.spaceDetailUrl)
            console.log('url已經(jīng)傳遞'))
        }

瀏覽器報(bào)錯(cuò)如下

clipboard.png

但是實(shí)例中data是存在的,是不是我獲取data的方式不對(duì)?理論上實(shí)例是代理data的但是hello和url也取不到

clipboard.png

回答
編輯回答
咕嚕嚕

不要訪問(wèn)data data被隱藏了 直接寫 bus.url bus.hello

2017年10月19日 13:34
編輯回答
愛(ài)是癌

你仔細(xì)觀察下console.log(bus)輸出的是什么。

導(dǎo)出的不對(duì)。

export default bus

或者引入之后

bus.bus

才是你的bus實(shí)例

2018年1月20日 12:35