首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >38. Vue组件传值-父组件向子组件传值

38. Vue组件传值-父组件向子组件传值

作者头像
Devops海洋的渔夫
发布2022-01-17 08:57:13
发布2022-01-17 08:57:13
1.4K00
代码可运行
举报
文章被收录于专栏:Devops专栏Devops专栏
运行总次数:0
代码可运行

前言

前面写了组件的创建、切换等等篇章,主要讲述了组件自身如何在父组件app中如何渲染使用。这里存在一个问题,就是父组件的数据如何传递到子组件中。

这是一个很常见的情况,如果是jQuery那么都是直接传参数就是了,而在Vue框架中,这里就要使用子组件中props属性来处理了。

官网介绍props地址:https://cn.vuejs.org/v2/guide/components-props.html

那么下面来看看一个父组件向子组件传值的示例。

示例:使用props传静态值

1.首先编写一个组件以及父组件,展示基本的信息

image-20200210231934650

首先浏览器展示看看组件渲染情况,如下:

image-20200210232021504

2.尝试在子组件直接使用父组件的msg,看看能否显示出数据来

image-20200210232406293

浏览器显示如下:

image-20200210232514798

那么该如何使用呢?

换一个思考的方式,在app父组件中是可以使用v-bind方法来设置绑定值的,能否通过v-bind来绑定msg到子组件中呢?

3.在父组件中使用 v-bind来绑定msg到子组件中,进行传值

image-20200210233115672

通过v-bind将父组件的msg绑定传递到子组件的parentmsg中,下面来看看浏览器是否正常显示,如下:

image-20200210233242625

可以从错误提示看到,使用v-bind的传递值都是要在子组件进行定义的,不能直接使用。那么是不是在子组件的data中进行定义呢?

当然不是,子组件有一个特殊的属性props,专门用来定义父组件传递下来的参数,并且传递下来的参数只能是只读。

4.使用props定义父组件传递下来的值

image-20200210233559472

浏览器显示如下:

image-20200210233750580

显示已经可以正常显示父组件中,传递下来的值了。那么下面来看看,使用props定义的值,能否被修改。

5.修改props定义的值,查看是否会报错

image-20200210235256634

浏览器点击之后,如下:

image-20200210235329021

image-20200210235409906

告警信息如下:

代码语言:javascript
代码运行次数:0
运行
复制
vue.js:634 [Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "parentmsg"

found in

--->

可以从告警信息看出,的确props定义的值在Vue框架是不需要修改的,只能是只读。

那么反过头来看,子组件中可读可写的数据只有是data定义出来的值才可以。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 海洋的渔夫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 示例:使用props传静态值
      • 1.首先编写一个组件以及父组件,展示基本的信息
      • 2.尝试在子组件直接使用父组件的msg,看看能否显示出数据来
      • 3.在父组件中使用 v-bind来绑定msg到子组件中,进行传值
      • 4.使用props定义父组件传递下来的值
      • 5.修改props定义的值,查看是否会报错
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档