uni app中元件傳值 父傳子,子傳父

2022-05-01 19:45:09 字數 2114 閱讀 8238

通過props來實現,子元件通過props來接收父元件傳過來的值!

1、邏輯梳理

第一步:引入子元件;

1 import sonshow from '@/component/son.vue';
第二步:在components中對子元件進行註冊;

1

components: ,

4

第三步:以標籤的形式載入;通過資料繫結的形式進行傳值~

1

reciveuserinfo="userinfo">

通過props接收父元件中傳過來的值;

1

props:["reciveuserinfo"],

2、**展示

父元件index.vue

123

:reciveuserinfo="userinfo">45

67

子元件son.vue

123

for="(item,index) in reciveuserinfo" :key="index">45

}6}7

891011

121724

25

3、結果

四、說明

對於一些詳情頁,比如有時我們需要點讚數量+1,-1的效果;但是,由於子元件不能改變父元件的值,所以直接操作從父元件接收的值進行更改是沒有效果的!就像如下:

1      let list =that.reciveuserinfo;

2for(var i in

list)

年齡還是沒有改變。所以應該怎麼做了?

把從父元件接收到的值reciveuserinfo賦給乙個新的變數mesgshow,對這個新的變數進行操作,然後用對齊進行渲染即可!

1 let list =that.reciveuserinfo;

2for(var i in

list)

附加:改變的**:

父元件index.vue    在父類引用標籤上寫上在子類$emit裡面定義的方法名:send, 以及接收方法

123

@send="getsonvalue">45

67

子元件;

1

2@click="sendmegtoindex">

3點我向父元件傳值45

6718

19

定義乙個eventbus.js檔案,匯出乙個空的vue物件,在兄弟元件中引入bus.js的檔案,在a元件通過bus.e m i t ( ) 傳 遞 , 在 b 組 件 中 的 c r e a t e d 函 數 中 ,

使 用 b u s . emit()傳遞,在b元件中的created函式中,使用bus.emit()傳遞,在b元件中的created函式中,使用bus.on接受

根元件如下:

124

5678

兄弟a元件如下:

123

4點我讓b元件接收到資料

5因為你點了b,所以我的資訊發生了變化:}67

89

兄弟b元件如下

123

4點我讓a元件接收到資料

5因為你點了a,所以我的資訊發生了變化:}67

89

在src中新建乙個store資料夾,在資料夾中新建乙個 index.js 檔案

1 import vue from 'vue'

2 import vuex from 'vuex'

3vue.use(vuex)

4 const state =

910 const mutations =,

15receivebmsg(state, payload) 19}

2021 export default

newvuex.store()

vue中父傳子 子傳父 非父子元件傳值

父傳子 通過v bind的形式傳值,子元件通過props接收。子元件的h2標籤中的 在頁面上的展示為world。父元件 home hello div data hr br 子元件 hello h2 div props 子傳父 通過 emit 事件 引數 的方式傳值 子元件 hello handlec...

Vue元件傳值 父傳子

重點 父元件向子元件使用props屬性進行傳值 父元件 直接子元件上進行傳值 step 2 step前面不加 表示傳遞的是字串,此時的2為字串 2 t 此時的2為字串 counter step 2 step前面加 表示傳遞的是js表示式,此時的2為數字 2 t 此時的2為數字 counter 每個子...

react元件傳值 父傳子

import react from react import son from son.js class father extends comment export default father 父傳子 父元件中定義乙個屬性 name,這裡起呼叫作用,子元件中通過 props.屬性 接收 如果想在子...