Vue實現父子組件傳值其實不難
父傳子
通過 props
。props
就是用來接收來自父組件的數據的。
下圖是大致的示意圖。
代碼實現
1.在父組件中引用子組件時,使用屬性傳值。
① 如果是簡單的靜態(tài)值可以不適用 v-bind
。<Child title="dataToChild" />
② 大多情況下時使用動態(tài)傳值,使用 v-bind
即可。<Child :title="dataToChild" />
parent.vue
<template> <Child title="dataToChild" /> </template> <script> import Child from './child' //引入子組件 export default{ components: { Child }, data () { return { dataToChild: 'From Parent to Child' } } } </script>
2.子組件中使用 props
接收。
props 可以是對象或簡單數組,并且可以對對象進行類型、默認值等高級配置
① 簡單字符數組。就是簡單列出要接收的數據的屬性名,并不可以是對象數組。
props:[ 'data1', 'data2' ]
② 對象。
props:{ data1:{ type: String, default: 'no data' }, data2:{ type: Number, default: 0, required: true } }
child.vue
<template> <div class="children"> <div>來自父組件的值是:{{title}}</div> </div> </template> <script> export default { props: { title: { type: String, //接收值得類型 default: '父組件沒傳值' //配置默認值 } }, //或者可以寫成簡單數組 props: ['title'], data () { return {} } } </script>
父組件傳值到子組件就是 vue
單向數據流的一般表現: 父級 prop
的更新會向下流動到子組件中,但是反過來則不行。
子傳父
通過 v-on
和 $emit
Vue
中父子組件的關系可以總結為 prop
向下傳遞,事件向上傳遞。
父組件通過 prop
給子組件下發(fā)數據,子組件通過事件給父組件傳遞信息。
代碼實現
1.在父組件中把定義事件綁定到子組件。
parent.vue
<template> <div class="parent"> <Child @child="getChildData" /> <p>子組件傳給父組件的值:{{dataFromChild}}</p> </div> </template> <script> import Child from './Child' export default { components: { Child }, data () { return { dataFromChild: '' } }, methods: { /* 自定義事件 */ getChildData (param) { this.dataFromChild = param } } } </script>
2.在子組件中觸發(fā)父組件中自定義的函數并傳遞參數
child.vue
<template> <div class="child-parent"> <input type="text" v-model="toParent" /> <button @click="dataToParent">傳值到父組件</button> </div> </template> <script> export default { data () { return { toParent: 'From Child to Parent' } }, methods: { dataToParent () { this.$emit('child', this.toParent) } } } </script>
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
vue3使用wangeditor封裝和自定義上傳文件官方教程
這篇文章主要為大家介紹了vue3使用wangeditor封裝和自定義上傳文件的官方教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪<BR>2023-06-06一文搞明白vue開發(fā)者vite多環(huán)境配置
Vue是一款流行的JavaScript框架,用于開發(fā)動態(tài)單頁應用程序,本地安裝和環(huán)境配置是學習和使用Vue的第一步,下面這篇文章主要給大家介紹了關于vue開發(fā)者vite多環(huán)境配置的相關資料,需要的朋友可以參考下2023-06-06