vue 父向子传递数组


父组件向子组件传递数组数据

父组件:

// 使用v-bind:子组件接收的数据名称="父组件传递的数据名称"
// 可以进行简写省略掉 -> :dataTypes="dataTypes"
<template>
  <data-type v-bind:dataTypes="dataTypes"></data-type>
</template>

<script>
// 进行子组件的引用
import DataType from '../components/DataType.vue'
export default {
  components: {
    // 对子组件进行声明 
    DataType
  },
  data () {
    return {
      // 这是‘父组件传递的数据名称’的定义
      dataTypes: []
    }
  }
</script>

子组件:

<template>
<div v-for="item in dataTypes" :key="item.index">
	{{ item.id }}
</div>
</template>
<script>
export default {
  // 使用 props 进行接收
  props: {
    // 对‘子组件接收的数据名称’进行声明,需要标明接收数据的类型‘Array’
    dataTypes: Array
  },
  data () {
    return {
      // 重新赋值,避免破坏原数据
      dataTypesTemp: this.dataTypes
    }
  }
}
</script>

传递数组数据需要注意,数组是引用类型数据,传递过来的是数据地址,最好不要在子组件内随意修改,不然会破坏该数据。也就是说在某个子组件内进行修改,其他接收该数据的子组件中的数据也会发生变化。
如果想要修改,最好将其赋值给该子组件内的其他数据。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM