Vue 與 React 父子元件之間的家長里短

2021-08-20 14:02:38 字數 2746 閱讀 4052

// father.js

id="father">

這是父元件:

父元件p>

ref="child"

:msg="msg" @click="faclick">

child>

div>

template>

import child from './child';

export default ;

},components: ,

methods: ,

childsayhello()

}}script>

// child.js

id="child">

這是子元件:父元件傳遞的值:}p>

接收父元件方法button>

div>

template>

export default ;

},methods: ,

sayhello()

}}script>

在父元件中引入並註冊子元件

在子元件中定義props:['msg'](不能省略引號)

通過:msg="msg"的方法傳遞變數,也可以通過msg="msg"傳遞字串

在父元件中給子元件繫結乙個ref="***"屬性

通過this.$refs.***.方法呼叫

在子元件中定義乙個方法

通過this.$emit('事件名','引數')派發乙個事件,並傳遞引數

父元件中通過@事件名的方式監聽事件

父元件中定乙個乙個方法,該方法的引數對應子元件傳遞過來的引數

子元件可以通過this.$parent.***直接呼叫父元件的方法。

通過子元件派發的事件,不僅可以向父元件傳遞引數,父元件也可以通過傳遞的引數,改變向子元件傳遞的值,從而改變子元件。

props: ,

// 帶有預設值的數字

propd: ,

// 帶有預設值的物件

prope: }},

// 自定義驗證函式

propf:

}}

// father.js

import react, from 'react'

import child from './child.js';

class father extends component

} // 傳遞給子元件的方法,並接收子元件例項,繫結在this.child上

onref = (ref) =>

// 通過this.child 就可以直接呼叫子元件的內部方法

click = () =>

// 傳遞個子元件的方法

faclick = (msg) =>

render() >呼叫子元件方法button>

這是子元件

onref=

connect=

click=/>

div>

div>)}}

export default father;

// child.js

import react, from 'react'

class child extends component

// 呼叫父元件傳遞的方法,並傳遞子元件例項

componentdidmount()

// 呼叫父元件傳遞的方法

click= ()=>

// 子元件內部方法

sayhello = () =>

render() p>

onclick=>接收父元件的方法button>

div>)}}

export default child;

在父元件中引入子元件

通過connect=方式可以傳遞值

子元件通過this.props.connect接收

給子元件傳遞乙個方法onref=子元件在componentdidmount生命週期裡 呼叫這個方法,並回傳自身例項

父組在該方法中接收子元件例項,並掛載在父元件例項屬性上,例:this.child = ref最後就可以通過this.child.***直接呼叫子元件方法

在父元件中給子元件傳遞乙個方法,click=在子元件中通過乙個事件接收這個方法,onclick=通過click= ()=>從而傳遞引數

父元件可以直接傳遞乙個方法給子元件

子元件可以通過this.props.***呼叫

不能直接通過接收父元件的方法進行傳參,這樣在元件初始化時,事件就執行了。

react 的子元件中不用定義父元件傳值對應的變數

react 的子元件不用派發事件,父元件可以直接傳遞方法

子元件通過this.props.click可以呼叫父元件傳遞的方法,並傳參

react父子元件之間通訊

父子元件之間通訊 父傳子通訊 類元件 index.js import react from react import reactdom from react dom reactdom.render document.getelementbyid root import react,from reac...

Vue 與 React 父子元件之間的家長里短

father.js 這是父元件 父元件 child.js 這是子元件 父元件傳遞的值 接收父元件方法 在父元件中引入並註冊子元件 在子元件中定義props msg 不能省略引號 通過 msg msg 的方法傳遞變數,也可以通過msg msg 傳遞字串 在父元件中給子元件繫結乙個ref 屬性 通過th...

vue父子元件之間通訊

1 父元件向子傳遞引數 只需要在子元件內使用props即可獲取。2 子元件返回引數給父元件 子元件中設定 emit func data 父元件中直接取出func即可。注意 父元件向子元件傳參是單向的,若子元件直接修改父元件的引數,vue會報錯。如果需要修改,則有2種方式 方式一 在子元件中複製父變數...