美文网首页
vue父子组件传值

vue父子组件传值

作者: Ishmael丶Yoko | 来源:发表于2018-08-16 15:18 被阅读0次

1. 父组件向子组件传值

  1. 创建一个两个组件,一个父组件,一个子组件,父组件定义如下:
<template>
      <div class='parent'>
            <child  :tableData='tableData'></child>
      </div>
</template>

<script>
  import child from './child.vue'
  export default {
      name: 'parent',
      components: { child },
      data () {
          return {
              tableData: [1,2,3,4,5,6]
          }
      }
  }
</script>

<style>
</style>
  1. 子组件定义如下
<template>
      <div class='child'>
            <ul>
                <li v-for='(item, index) in tableData' :key='index'>{{ item }}</li>
            </ul>
      </div>
</template>

<script>
  export default {
      name: 'child',
      props: ['tableData'],
      data () {
          return {
          }
      }
  }
</script>

<style>
</style>

2. 子组件向父组件传值

  1. 创建一个两个组件,一个父组件,一个子组件,子组件定义如下:
<template>
      <div class='child'>
            <child  @click='sendDataToParent'></child>
      </div>
</template>

<script>
  export default {
      name: 'child',
      data () {
          return {
              tableData: [1,2,3,4,5,6]
          }
      },
      methods: {
        sendDataToParent() {
           this.$emit('datas',this.$data.tableData);
        }
      }
  }
</script>

<style>
</style>
  1. 父组件定义如下
<template>
      <div class='parent'>
            <child @datas='reciveData'></child>
      </div>
      <ul>
        <li v-for='(item, index) in tables' :key='index'>{{ item }}</li>
      </ul>
</template>

<script>
  import child from './child.vue'
  export default {
      name: 'parent',
      components: { child },
      data () {
          return {
              tables: []
          }
      },
     methods: {
        reciveData(data) {
          this.$data.tables = data
        }
      }
  }
</script>

<style>
</style>

3. 父组件调用子组件的方法

  1. 创建一个两个组件,一个父组件,一个子组件,父组件定义如下:
<template>
      <div class='parent'>
            <child ref='child'></child>  //  调用子组件方法,必须加ref属性
            <p @click='getChildMethod'>调用子组件的方法</p>
      </div>
</template>

<script>
  import child from './child.vue'
  export default {
      name: 'parent',
      components: { child },
      data () {
          return {
              tableData: [1,2,3,4,5,6]
          }
      },
      methods: {
        // 此方法内,父组件内调用子组件的方法
        getChildMethod() {
            this.$refs.child.sayHi();
         }
      }
  }
</script>

<style>
</style>
  1. 子组件定义如下
<template>
      <div class='child'>
            <ul>
                <li v-for='(item, index) in tableData' :key='index'>{{ item }}</li>
            </ul>
      </div>
</template>

<script>
  export default {
      name: 'child',
      data () {
          return {
              tableData: [1,2,3,4,5,6]
          }
      },
      methods: {
          sayHi() {
              console.log('hello world!')
           } 
      }
  }
</script>

<style>
</style>

相关文章

  • (VUE3) 四、组件传值(父子组件传值 & 祖孙组件传值 &v

    1.父子组件传值 vue2中的父子组件传值:父组件: 子组件: vue3中的父子组件传值: 还是用props接收父...

  • Vue父子组件通信和双向绑定

    本篇文章主要介绍父子组件传值,组件的数据双向绑定。 1. 基础父子组件传值 父子组件传值,这是Vue组件传值最常见...

  • VUE组件(传值,生命周期)

    VUE生命周期 VUE子传父组件通信 VUE非父子组件传值

  • 组件通信

    vue传值可分为父子之间传值、兄弟组件之间传值、跨代组件之间传值 1.父子之间传值:可以使用$emit/props...

  • Vue组件之间的传值

    Vue父子组件之间的传值(props)兄弟组件 VUEX

  • 前端基础搬运工-VUE模块

    十、VUE模块 基础部分 1. Vue组件间传值 答: -[ ] 1.父子之间的传值 父组件向子组件传值通过p...

  • 2019-03-13

    vue父子组件传值,(父组件向子组件传值用prop ,子组件向父组件传值:子组件调用父组件方法值以参数的方式传递)...

  • 2019-03-13

    vue父子组件传值,(父组件向子组件传值用prop ,子组件向父组件传值:子组件调用父组件方法值以参数的方式传递)...

  • vue2.0的三种常用传值方式,并且如何实现?

    vue2.0 组件传值方式有三种:父组件向子组件传值,子组件向父组件传值,非父子组件传值 : 父传子: 首先现在父...

  • VUE03

    Vue组件 组件的创建 组件的指令以及事件绑定 父子组件创建 父子组件通信 兄弟组件的传值 动态组件

网友评论

      本文标题:vue父子组件传值

      本文链接:https://www.haomeiwen.com/subject/ktzwbftx.html