vue组件传值有几种方法(vue组件基础之父子传值)
数据从后端获取过来,最外层的父组件接收数据,子组件不能直接获取,必须由父组件传递,此时使用props,并且父组件的值更新后,子组件的值也会随之更新,但是反过来通过修改子组件props来影响父组件是不行的。但是子组件可以通过$emit触发父组件的自定义事件来进行传值。
一、propsprops用于父组件向子组件传值,在 vue组件基础之创建与使用中 使用了一个实例,这里还是如此,假如一个页面包含头部、内容、尾部三个部分,这是三个组件,而它们的父组件是App.vue组件。
现在父组件App.vue将数据传递到Vcontent.vue组件中,有三个步骤:
- 父组件中从后台获取数据
- 在父组件中使用的子组件绑定自定义属性
- 在子组件中验证传递数据的类型
- 在子组件中渲染数据
现在假设已经从后台获取到了数据,父组件中已经有数据。
2、绑定自定义属性
在父组件中使用子组件(Vcontent),给子组件绑定自定义属性。
3、在子组件中验证数据类型
向将要传递的子组件中验证传递的数据类型,数据类型有很多种,根据自己写的数据类型填写:
String
Number
Boolean
Array
Object
Date
Function
Symbol
4、渲染数据
此时可以在子组件中使用传递过来的数据了。
二、自定义事件
用于子组件向父组件传值,假设现在Vcontent组件中通过页面添加了一条数据,此时就需要
- 在父组件中自定义事件
- 在子组件中触发父组件中自定义事件
2、触发自定义事件
事件绑定到Vcontent组件上,那么在对应的组件中来进行触发,使用this.$emit方法进行触发。
总结:
- 父组件-----》子组件 传值使用props
- 子组件-----》父组件 传值使用this.emit
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com