vue组件传值有几种方法(vue组件基础之父子传值)

数据从后端获取过来,最外层的父组件接收数据,子组件不能直接获取,必须由父组件传递,此时使用props,并且父组件的值更新后,子组件的值也会随之更新,但是反过来通过修改子组件props来影响父组件是不行的。但是子组件可以通过$emit触发父组件的自定义事件来进行传值。

一、props

props用于父组件向子组件传值,在 vue组件基础之创建与使用中 使用了一个实例,这里还是如此,假如一个页面包含头部、内容、尾部三个部分,这是三个组件,而它们的父组件是App.vue组件。

vue组件传值有几种方法(vue组件基础之父子传值)(1)

现在父组件App.vue将数据传递到Vcontent.vue组件中,有三个步骤:

  • 父组件中从后台获取数据
  • 在父组件中使用的子组件绑定自定义属性
  • 在子组件中验证传递数据的类型
  • 在子组件中渲染数据
1、获取数据

现在假设已经从后台获取到了数据,父组件中已经有数据。

vue组件传值有几种方法(vue组件基础之父子传值)(2)

2、绑定自定义属性

在父组件中使用子组件(Vcontent),给子组件绑定自定义属性。

vue组件传值有几种方法(vue组件基础之父子传值)(3)

3、在子组件中验证数据类型

向将要传递的子组件中验证传递的数据类型,数据类型有很多种,根据自己写的数据类型填写:

String Number Boolean Array Object Date Function Symbol

vue组件传值有几种方法(vue组件基础之父子传值)(4)

4、渲染数据

此时可以在子组件中使用传递过来的数据了。

vue组件传值有几种方法(vue组件基础之父子传值)(5)

二、自定义事件

用于子组件向父组件传值,假设现在Vcontent组件中通过页面添加了一条数据,此时就需要

  • 在父组件中自定义事件
  • 在子组件中触发父组件中自定义事件
1、父组件自定义事件

vue组件传值有几种方法(vue组件基础之父子传值)(6)

2、触发自定义事件

事件绑定到Vcontent组件上,那么在对应的组件中来进行触发,使用this.$emit方法进行触发。

vue组件传值有几种方法(vue组件基础之父子传值)(7)

总结:

  • 父组件-----》子组件 传值使用props
  • 子组件-----》父组件 传值使用this.emit
,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页