一、子组件需要做的

子组件要显式地用 props 选项声明它期待获得的数据

props:[data]

然后在组件内使用data

二、父组件需要做的

这个时候需要区分静态传值和静态传值

静态

在父组件使用子组件标签时

这个时候静态传值就完成了

动态

在父组件使用子组件标签时

data(){ return{ myData:"haha"  }}

注:在传递数字的时候尽量使用静态传值

三、props验证

有时候我们需要对传递过来的值进行验证,以确定传递的值符合我们的要求

要指定验证规格,需要用对象的形式,而不能用字符串数组  这时的props需要写成对象

props:{data:Array}

注: 当 prop 验证失败,Vue 会在抛出警告 (如果使用的是开发版本)。props会在组件实例创建之前进行校验,所以在 default 或 validator 函数里,诸如 data、computed 或 methods 等实例属性还无法使用;

四、单向数据流

props传值是单向的:父组件的数据可以传给子组件,而子组件的数据不能传给父组件,这是为了防止子组件无意修改了父组件的状态,每次父组件更新时,子组件的所有 prop 都会更新为最新值。这意味着不应该在子组件内部改变 prop。如果这么做了,Vue 会在控制台给出警告

五、修改props数据

通常改变props的数据有两个原因

1、prop 作为初始值传入后,子组件想把它当作局部数据来用

2、prop 作为初始值传入,由子组件处理成其它数据输出

注:JS中对象和数组是引用类型,指向同一个内存空间,如果 prop 是一个对象或数组,在子组件内部改变它会影响父组件的状态

因此  接下来:

1、定义一个局部变量,并用 prop 的值初始化它

props: ['initialCounter'],    data: function () {      return { counter: this.initialCounter }    }

但是,定义的局部变量counter只能接受initialCounter的初始值,当父组件要传递的值发生变化时,counter无法接收到最新值

2、定义一个计算属性,处理 prop 的值并返回

props: ['size'],    computed: {    normalizedSize: function () {    return this.size.trim().toLowerCase()    }    }

但是,由于是计算属性,则只能显示值,而不能设置值

3、更好的方式,使用变量储存prop的初始值,并使用watch来观察prop的值的变化。发生变化时,更新变量的值

props:['childMsg'],    data(){      return{       temp:this.childMsg       }     },     watch:{     childMsg(){    this.temp =this.childMsg     }     }

vue打印props的值_vue props 传值相关推荐

  1. vue打印props的值_vue中props传值方法

    vue中props传值方法 1.开发环境 vue 2.电脑系统 windows10专业版 3.在使用 vue开发的过程中,我们经常会使用 props进行组件的传值,下面是我的分享,希望对你有所帮助! ...

  2. vue 子级拿值_vue 父组件通过$refs获取子组件的值和方法详解

    前言 在vue项目中组件之间的通讯是很常见的问题,同时也是很重要的问题,我们大致可以将其分为三种情况: 父传子:在父组件中绑定值,在子组件中用props接收 子传父:在父组件中监听一个事件,在子组件中 ...

  3. vue 子级拿值_Vue 父组件主动获取子组件的值,子组件主动获取父组件的值

    父组件主动获取子组件的值 1. 在调用子组件的时候定义一个ref-> ref="header" 2. 在父组件中通过this.$refs.header.属性,调用子组件的属性 ...

  4. vue 方法获取返回值_vue中子组件怎么获取父组件中的方法的返回值

    楼主解决了吗?好像通过@自定义方法名='父组件的方法名'这样绑定到子组件里面取不行,只能通过:自定义方法名='父组件方法名',然后在子组件中的props:['自定义方法名'],再在子组件中要使用的地方 ...

  5. vue保存页面的值_vue中使用localStorage存储信息

    一 什么是localStorage 对浏览器来说,使用 Web Storage 存储键值对比存储 Cookie 方式更直观,而且容量更大,它包含两种:localStorage 和 sessionSto ...

  6. vue 给取data值_vue获取data值的方式分析

    上一篇文章我们简单讲解了data初始化的两种方式,这次我们分析一下获取data内值的方式 获取vue的data 我们常用获取data值的方式为如下两种: this.$data.link this.li ...

  7. vue 计算文件hash值_vue项目打包文件增加hash值

    vue项目打包文件增加hash值 vue-cli2项目 修改vue项目根目录下的 build/webpack.prod.conf.js文件 js文件: output: { path: config.b ...

  8. vue 计算文件hash值_vue的hash值原理,也是table切换。

    .pages>div{display: none;} aaa bbb cccc 首页 关于我的页面 用户中心 //hash 和页面一一对应起来 //router 配置 var router = ...

  9. vue保存页面的值_vue前端页面跳转参数传递及存储

    不同页面间进行参数传递,实现方式有很多种,最简单最直接的方式就是在页面跳转时通过路由传递参数,如下所示. 路由传递参数 this.$router.push({ name: '跳入页面', params ...

最新文章

  1. c语言饭卡管理系统链表文件,C语言《学生信息管理系统》链表+文件操作
  2. 《C语言程序设计与实践(第2版)》——3.2 数据类型
  3. 皮一皮:有钱人的品味实在不懂...
  4. poj 2288(状态压缩dp + TSP问题)
  5. 两个sql交集_数据库(sql)关键字
  6. 题目1065:输出梯形 (直接用循环控制输出)+题目1432:叠筐 (数组控制形状,最后输出数组)...
  7. 69. x 的平方根 golang
  8. 清除默认的内边距与外边距
  9. mongodb的条件查询笔记
  10. 【MySQL】MySQL 界面连接工具 优化工具 监控工具 其他工具 简介
  11. Nginx 反向代理可以缓存 HTTP POST 请求页面吗?
  12. 洛谷——P1162 填涂颜色【bfs】
  13. java中ssm框架介绍_JavaSSM框架简介
  14. mp4视频文件截图--h264解码成yuv再转存为bmp图片
  15. 支持笔锋效果的手写签字控件
  16. 2-eggs-100-floors-puzzle(扔两个鸡蛋问题)
  17. 图像处理、显示中的行宽(linesize)、步长(stride)、间距(pitch)
  18. SVAC1.0帧内预测技术分析
  19. E22-400M22S(SX1268) CubeMX HAL
  20. 常见的树形结构(一)

热门文章

  1. 07|声学回声消除AEC(1)
  2. 打印机打印,扫描小白教程(无需另装驱动)
  3. 专插本计算机专业报考人数,2019年专插本各专业报考录取人数、录取分数及平均分统计 (五)...
  4. 数据结构-拓展突破-特殊矩阵(对称矩阵,三角矩阵,三对角矩阵,稀疏矩阵)的压缩存储)
  5. 分类网络 VGG16
  6. Ubuntu下设置DNS的方法
  7. react demo:人员表实现笔记
  8. gulp菜鸟级零基础详细教程,嘴对嘴教会你怎么使用gulp
  9. Arduino与485协议电流变送器进行通信
  10. 阿里云短信验证码服务