真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vue.js組件之間傳遞數(shù)據(jù)-創(chuàng)新互聯(lián)

前言

組件是 vue.js 最強大的功能之一,而組件實例的作用域是相互獨立的,這就意味著不同組件之間的數(shù)據(jù)無法相互引用。如何傳遞數(shù)據(jù)也成了組件的重要知識點之一。

成都創(chuàng)新互聯(lián)公司服務(wù)項目包括改則網(wǎng)站建設(shè)、改則網(wǎng)站制作、改則網(wǎng)頁制作以及改則網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,改則網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到改則省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

組件

組件與組件之間,還存在著不同的關(guān)系。父子關(guān)系與兄弟關(guān)系(不是父子的都暫稱為兄弟吧)。

原文作者:林鑫,作者博客:https://github.com/lin-xin/blog

父子組件

父子關(guān)系即是組件 A 在它的模板中使用了組件 B,那么組件 A 就是父組件,組件 B 就是子組件。

// 注冊一個子組件Vue.component('child', {
    data: function(){
        text: '我是father的子組件!'
    }
    template: '{{ text }}'})// 注冊一個父組件Vue.component('father', {
    template: '
'  // 在模板中使用了child組件})

直接使用 father 組件的時候:


    

頁面中就會渲染出 :我是father的子組件!

father 組件在模板中使用了 child 組件,所以它就是父組件,child 組件被使用,所以 child 組件就是子組件。

兄弟組件

兩個組件互不引用,則為兄弟組件。

Vue.component('brother1', {
    template: '
我是大哥
'})Vue.component('brother2', {     template: '
我是小弟
'})

使用組件的時候:


    
    

頁面中就會渲染出 :

我是大哥

我是小弟

Prop

子組件想要使用父組件的數(shù)據(jù),我們需要通過子組件的 props 選項來獲得父組件傳過來的數(shù)據(jù)。以下我使用在 .vue 文件中的格式來寫例子。

如何傳遞數(shù)據(jù)

在父組件 father.vue 中引用子組件 child.vue,把 name 的值傳給 child 組件。

在子組件 child.vue 中的 props 選項中聲明它期待獲得的數(shù)據(jù)

那么頁面中就會渲染出:Hello linxin

單向數(shù)據(jù)流

當(dāng)父組件的 name 發(fā)生改變,子組件也會自動地更新視圖。但是在子組件中,我們不要去修改 prop。如果你必須要修改到這些數(shù)據(jù),你可以使用以下方法:

方法一:把 prop 賦值給一個局部變量,然后需要修改的話就修改這個局部變量,而不影響 prop

export default {
    data(){
        newMessage: null  
    },
    props: ['message'],
    created(){
        this.newMessage = this.message;
    }}

方法二:在計算屬性中對 prop 進行處理

export default {
    props: ['message'],
    computed{
        newMessage(){
            return this.newMessage + ' 哈哈哈';
        }
    }}

自定義事件

prop 是單向綁定的:當(dāng)父組件的屬性變化時,將傳導(dǎo)給子組件,但是不會反過來。修改子組件的 prop 值,是不會傳回給父組件去更新視圖的。那么子組件要如何去與父組件通訊呢?

那就是自定義事件。通過在父組件 $on(eventName) 監(jiān)聽自定義事件,當(dāng)子組件里 $emit(eventName) 觸發(fā)該自定義事件的時候,父組件執(zhí)行相應(yīng)的操作。

比如在父組件中控制一個彈框子組件的顯示,在子組件中按下關(guān)閉之后,告訴父組件去隱藏它,然后父組件就執(zhí)行操作隱藏彈框。

在子組件 dialog.vue 中:

這樣就實現(xiàn)了父子組件之間的相互通訊。

Vuex

上面的例子都是建立在父子關(guān)系的組件上,但是對于其他層級的關(guān)系,實現(xiàn)起來就比較繁瑣了。那么這時候 Vuex 就能更好的幫你在各個組件間實時通訊了。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


本文名稱:vue.js組件之間傳遞數(shù)據(jù)-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://weahome.cn/article/dcsoip.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部