Resumen de pasar valores entre componentes principales y componentes secundarios en el subprograma uni-app

prefacio

1. Pasar el valor del componente principal al componente secundario → a través del enlace de datos

2. El componente hijo pasa el valor al componente padre → a través del evento

1. Pasar valor del componente principal al componente secundario

Realizado por props, es decir: el componente hijo recibe el valor pasado por el componente padre a través de props

lograr

En el componente principal:

1. Introducir subcomponentes

2. Registrar subcomponentes

3. Cargue en forma de etiquetas, use enlace de datos para pasar valores

En el subcomponente:

1. Recibir el valor pasado del componente principal a través de props

Código de demostración específico

Componente principal: index.vue

<template>
  <comA :list="listData"></comA>
</template>

<script>
  import comA from '@/components/comA.vue'
  export default{
    components:{comA},
    data(){
    return{
      listData:[
        {"name": "刘", "age": "12"},
        {"name": "肖", "age": "20"}
      ]
      }
    }
  }
</script>

Subcomponente: comA.vue

<template>
  <view>
    <block v-for="(item,index) in list" :key="index">
      <view class="flex">
        <text>{
   
   {item.name}}</text>
        <text>{
   
   {item.age}}</text>
      </view>
    </block>
  </view>
</template>

<script>
  export default {
    name: "comA",
    props:{
      list:{
        type: [Array],
        default: []
      }
    },
    data() {
      return {}
    },
  }
</script>

En segundo lugar, el componente secundario pasa el valor al componente principal.

Realizado por props, es decir: el componente hijo recibe el valor pasado por el componente padre a través de props

lograr

En el componente principal:

1. Introducir subcomponentes

2. Registrar subcomponentes

3. Cargue en forma de etiquetas, use enlace de datos para pasar valores

4. Registrar función de subcomponente

En el subcomponente:

1. Pase el valor al componente principal a través de la función $emit()

Código de demostración específico

Componente principal: index.vue

<template>
  <comA @ChildClick="childClick"></comA>
</template>

<script>
  import comA from '@/components/comA.vue'
  export default{
    components:{comA},
    methods:{
      childClick(e){
        console.log(e)
      }
    }
  }
</script>

Subcomponente: comA.vue

<template>
  <view @click="sendValue"></view>
</template>

<script>
  export default {
    name:"comA",
    props:{},
    methods:{
      sendValue: function(){
        // 向父组件传值
        this.$emit("childClick","我来自子组件")
      },
    }
  }
</script>

Supongo que te gusta

Origin blog.csdn.net/loveliqi/article/details/124669311
Recomendado
Clasificación