最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Vue2.0 事件派發(fā)與接收

 更新時(shí)間:2017年09月05日 11:27:26   作者:a5534789  
這篇文章主要介紹了詳解Vue2.0 事件派發(fā)與接收,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

由于vue2.0 移除了1.0中的$dispatch 和$broadcast 這兩個(gè)組件之間通信傳遞數(shù)據(jù)的方法 ,官方的給出的最簡單的升級建議是使用集中的事件處理器,而且也明確說明了 一個(gè)空的vue實(shí)例就可以做到,因?yàn)閂ue 實(shí)例實(shí)現(xiàn)了一個(gè)事件分發(fā)接口.

請直接看代碼,在初始化web app的時(shí)候,給data添加一個(gè) 名字為eventhub 的空vue對象

new Vue({
 el: '#app',
 router,
 render: h => h(App),
 data: {
  eventHub: new Vue()
 }
})

好的 這個(gè)時(shí)候 你就可以一勞永逸了,在任何組件都可以調(diào)用事件發(fā)射 接受的方法了.

如何獲取到這個(gè)空的vue對象 eventhub呢.在組件里面直接調(diào)用這個(gè)

某一個(gè)組件內(nèi)調(diào)用事件觸發(fā)

//通過this.$root.eventHub獲取此對象
//調(diào)用$emit 方法
this.$root.eventHub.$emit('YOUR_EVENT_NAME', yourData)

另一個(gè)組件內(nèi)調(diào)用事件接受,當(dāng)然在組件銷毀時(shí)接觸綁定,使用$off方法

this.$root.eventHub.$on('YOUR_EVENT_NAME', (yourData)=>{
  handle(yourData)
} )

遇到一個(gè)問題 ,考慮特定場景:

跳轉(zhuǎn)路由之前我們調(diào)用了$emit方法,這個(gè)方法在A組件里面處理數(shù)據(jù),但是A組件綁定$on事件之前 $emit事件已經(jīng)發(fā)射,所以這會(huì)導(dǎo)致一直接受不到消息,看來這個(gè)事件綁定有時(shí)效性問題,你可以setTimeout來做一下延時(shí),但是這個(gè)特別奇怪,那就把數(shù)據(jù)存到store然后等A組件加載完了再去取。。。。

官方文檔請點(diǎn)擊我

record on 12 24

在stackoverflow 發(fā)現(xiàn)一個(gè)更加簡潔的方法,因?yàn)楸举|(zhì)上vue是一個(gè)js對象,我們想保存一個(gè)全局對象,只需要在Vue的prototype上面增加一個(gè)屬性即可,本質(zhì)上所有Vue組件都是繼承全局的Vue。只要在初始化Vue對象之前給原生Vue對象prototype增加屬性,那樣所有的組件(因?yàn)槎际抢^承自它的實(shí)例)都可以訪問到這個(gè)屬性。相關(guān)資料請參考我之前的文章關(guān)于函數(shù)的構(gòu)造函數(shù)和prototype<四>

在初始化Web app 之前 加上這樣一句:

Vue.prototype.$eventHub= Vue.prototype.$eventHub || new Vue()

當(dāng)然我們可以定義其他的全局變量.比如當(dāng)前app的系統(tǒng)配置文件,名字為sysconfig.json,你可以這樣定義

Vue.prototype.$config =Vue.prototype.$config||require('path/sysconfig.json')

這樣我們在組件內(nèi)部 就可以直接調(diào)用$eventHub 和 $config對象了。

比如 在mounted函數(shù)里面直接 console.log($config.yourKey)

record on 1.1.2017

剛才看到了webpack的插件里面有一個(gè)definePlugin 它可以幫我們定義全局的常量。

如何使用,很簡單但是更好,我們不用去修改Vue對象:

new webpack.DefinePlugin({
 CONFIG: require('path/sysconfig.json')
});
 

然后我們也可以在全局內(nèi)使用CONFIG對象了。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用element-ui +Vue 解決 table 里包含表單驗(yàn)證的問題

    使用element-ui +Vue 解決 table 里包含表單驗(yàn)證的問題

    這篇文章主要介紹了使用element-ui +Vue 解決 table 里包含表單驗(yàn)證的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • vue?elementUI之this.$confirm的使用方式

    vue?elementUI之this.$confirm的使用方式

    這篇文章主要介紹了vue?elementUI之this.$confirm的使用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Vue實(shí)現(xiàn)路由嵌套的方法實(shí)例

    Vue實(shí)現(xiàn)路由嵌套的方法實(shí)例

    嵌套路由顧名思義就是路由的多層嵌套,這篇文章主要給大家介紹了關(guān)于Vue實(shí)現(xiàn)路由嵌套的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-11-11
  • vue數(shù)據(jù)初始化initState的實(shí)例詳解

    vue數(shù)據(jù)初始化initState的實(shí)例詳解

    Vue 實(shí)例在建立的時(shí)候會(huì)運(yùn)行一系列的初始化操作,而在這些初始化操作里面,和數(shù)據(jù)綁定關(guān)聯(lián)最大的是 initState。這篇文章主要介紹了vue數(shù)據(jù)初始化--initState,需要的朋友可以參考下
    2019-04-04
  • vue3使用canvas的詳細(xì)指南

    vue3使用canvas的詳細(xì)指南

    這篇文章主要給大家介紹了關(guān)于vue3使用canvas的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用vue3具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-04-04
  • 淺析Proxy如何實(shí)現(xiàn)Vue響應(yīng)式

    淺析Proxy如何實(shí)現(xiàn)Vue響應(yīng)式

    這篇文章主要是來和大家探討一下,Vue的響應(yīng)式系統(tǒng)僅僅是一個(gè)Proxy嗎,本文將圍繞此問題探索一下Proxy是如何實(shí)現(xiàn)Vue響應(yīng)式的,感興趣的小伙伴可以了解一下
    2023-08-08
  • Vue.js項(xiàng)目在apache服務(wù)器部署問題解決

    Vue.js項(xiàng)目在apache服務(wù)器部署問題解決

    本文主要介紹了Vue.js項(xiàng)目在apache服務(wù)器部署問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • vue祖孫組件之間的數(shù)據(jù)傳遞案例

    vue祖孫組件之間的數(shù)據(jù)傳遞案例

    這篇文章主要介紹了vue祖孫組件之間的數(shù)據(jù)傳遞案例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • vue發(fā)送websocket請求和http post請求的實(shí)例代碼

    vue發(fā)送websocket請求和http post請求的實(shí)例代碼

    這篇文章主要介紹了vue發(fā)送websocket請求和http post請求的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-07-07
  • vue插件及修改ip啟動(dòng)端口解析

    vue插件及修改ip啟動(dòng)端口解析

    這篇文章主要為大家介紹了vue插件及修改ip啟動(dòng)端口的解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04

最新評論

曲周县| 武强县| 麦盖提县| 石门县| 忻城县| 上杭县| 阳原县| 闽清县| 夏河县| 淮滨县| 清水县| 安丘市| 仙桃市| 噶尔县| 大同市| 德庆县| 伊宁县| 密云县| 漳州市| 新宁县| 昌都县| 万全县| 手机| 策勒县| 杭州市| 梨树县| 灵丘县| 汉中市| 丰原市| 合阳县| 江达县| 英山县| 托克逊县| 肃宁县| 天等县| 峡江县| 高邮市| 砚山县| 岳阳市| 新和县| 大余县|