父子组件

比如我们需要创建两个组件 Test(父组件) 和 Cmpone(子组件),现在我们要实现从Test组件向Cmpone组件传递数据。父组件向子组件传递数据分为两种方式:动态和静态

静态props

子组件要显示的用 props 声明它期望获得的数据

  • Test组件
<template><div class="Test"><cmpone forChildMsg="字符串随便写"></cmpone></div>
</template>
<script>
import Cmpone from './Cmpone'
export default {name: 'Test',components:{Cmpone,}
}
</script>
<style scoped>
</style>  
  • Cmpone组件
<template><div class="cmpone"><div>{{forChildMsg}}</div></div></template>
<script>export default {name: 'Cmpone',components:{},props: ["forChildMsg"]}
</script>
<style scoped></style>
  • 动态props

在模板中,要动态地绑定父组件的数据到子组件模板的 props,和绑定 Html 标签特性一样,使用v-bind绑定;
基于上述静态 props 的代码,这次只需要改动父组件

Test组件

<template><div class="Test"><cmpone :forChildMsg="forChildMsg"></cmpone></div>
</template>
<script>
import Cmpone from './Cmpone'
export default {name: 'Test',components:{Cmpone,},data(){return{forChildMsg:'父组件向子组件传递数据'}}
}
</script>
<style scoped>
</style>

Cmpone组件

<template><div class="cmpone"><div>{{forChildMsg}}</div></div></template>
<script>export default {name: 'Cmpone',components:{},props: ["forChildMsg"]}

props验证

我们可以为组件的 prop 指定验证要求,例如你知道的这些类型。如果有一个需求没有被满足,则 Vue 会在浏览器控制台中警告你。这在开发一个会被别人用到的组件时尤其有帮助。

为了定制 prop 的验证方式,你可以为 props 中的值提供一个带有验证需求的对象,而不是一个字符串数组

  props: {// 基础的类型检查 (`null` 和 `undefined` 会通过任何类型验证)propA: Number,// 多个可能的类型propB: [String, Number],// 必填的字符串propC: {type: String,required: true},// 带有默认值的数字propD: {type: Number,default: 100},// 带有默认值的对象propE: {type: Object,// 对象或数组默认值必须从一个工厂函数获取default: function () {return { message: 'hello' }}},// 自定义验证函数propF: {validator: function (value) {// 这个值必须匹配下列字符串中的一个return ['success', 'warning', 'danger'].indexOf(value) !== -1}}}

props驼峰标识

HTML 中的 attribute 名是大小写不敏感的,所以浏览器会把所有大写字符解释为小写字符。这意味着当你使用 DOM 中的模板时,camelCase (驼峰命名法) 的 prop 名需要使用其等价的 kebab-case (短横线分隔命名) 命名

重申一次,如果你使用字符串模板,那么这个限制就不存在了。

Vue.component('blog-post', {// 在 JavaScript 中是 camelCase 的props: ['postTitle'],template: '<h3>{{ postTitle }}</h3>'
<blog-post :post-title="message"></blog-post>

Vue props用法详解相关推荐

  1. Vue.js用法详解(一)更新中~

      前  言 前段时间为了一个数据查询的项目自学了Vue,感觉这款框架还是很不错的,今天就整理整理这个框架如何使用,希望对正在学这个框架的小伙伴有所帮助~ 首先,我们先来了解一下Vue: Vue.js ...

  2. 一篇由简到难的 Vue 面试题+详解答案

    作者:Big shark@LX 原文:https://juejin.cn/post/6961222829979697165 前言 本文整理了「高频」出现的 Vue 相关面试题并且附带「详解答案」 难度 ...

  3. 最全最详细前端vue面试题+详解答案(拿到高薪offer不是梦)

    最全vue面试题+详解答案 1.MVC 和 MVVM 区别 MVC MVC全名是 Model View Controller,时模型 - 视图 - 控制器的缩写,一种软件设计典范. Model(模型) ...

  4. props写法_Vue中props的详解

    看一下官方文档: 组件实例的作用域是孤立的.这意味着不能 (也不应该) 在子组件的模板内直接引用父组件的数据.父组件的数据需要通过 prop 才能下发到子组件中. 也就是props是子组件访问父组件数 ...

  5. 【面试题】973- 一篇由简到难的 Vue 面试题+详解答案

    作者:Big shark@LX 原文:https://juejin.cn/post/6961222829979697165 前言 本文整理了「高频」出现的 Vue 相关面试题并且附带「详解答案」 难度 ...

  6. 最全的 Vue 面试题+详解答案

    前言 本文整理了高频出现的 Vue 相关面试题并且附带详解答案 难度分为简单 中等 困难 三种类型 大家可以先不看答案自测一下自己的 Vue 水平哈 如果对原理感兴趣的同学 欢迎查看小编的手写 Vue ...

  7. Vue组件-Confirm详解

    Vue组件-Confirm详解 原作者:爱扎马尾的小狮子 一.使用的地方引用,传入属性和方法 在需要的地方引入组件,然后传入对应的属性和方法 组件 <template> <div : ...

  8. element ui路由配置文件_element-ui使用导航栏跳转路由的用法详解

    最近初学vue,试着做一个小项目熟悉语法与思想,其中使用elemen-ui的导航栏做路由跳转切换页面.下面记录一下学习过程 element-ui引入vue项目的用法参考 首先复制官网的例子,在这基础上 ...

  9. java写mapstate算子,vuex state及mapState的基础用法详解

    vuex state及mapState的基础用法详解 2019-01-07 编程之家收集整理的这篇文章主要介绍了vuex state及mapState的基础用法详解,编程之家小编觉得挺不错的,现在分享 ...

最新文章

  1. 台湾国立大学郭彦甫Matlab教程笔记(17)numerical integration
  2. 多边形填充算法-有序边表法(扫描线算法)
  3. MyBatis 源码分析-技术分享
  4. PHP笔记-自定义MVC框架
  5. 前端技术演进(六):前端项目与技术实践
  6. 8086汇编语言将一串字符串内小写字母转换为大写字母,其余字符不变(全注释)
  7. 科创板在6月的这30天:方邦电子等31家过会并提交注册 新受理28家
  8. 数据降维(PCA、因子分析法)
  9. 远方的人 -- 龙瑜
  10. 软技能之基本沟通技巧
  11. Mongoose Schema 和 SchemaTypes
  12. 全新娱乐性超高的喝酒神器微信小程序源码
  13. 古训《增广贤文》补遗
  14. ABAP术语-ALE
  15. Log4j日志框架介绍
  16. 苹果手机备份有必要吗_旧手机里的便签能备份到新手机里吗?
  17. 云米预计Q3营收同比下降三成,陈小平对未来增长没信心?
  18. R语言中 layout函数
  19. eas销售出库单与销售订单税率不同步问题修复
  20. java自定义字段_Java自定义注解实战

热门文章

  1. c语言错误c2142,应数计算机程序设计(C语言)实验选编.docx
  2. c语言计算圆的周长和面积double,符号常量,浮点数(计算圆的周长和面积) | 新思维:C语言程序设计...
  3. Arduino实现压力传感器(使用HX711模块)
  4. (二十):网络表情包的单模态与双模态情感分析
  5. python 网页爬虫nike_python爬虫的基本抓取
  6. 【服务器】什么是服务器虚拟化
  7. 苹果xr如何截屏_苹果手机居然自带长截屏功能了?iPhone的多种截屏方式,涨知识了...
  8. 多级CIC滤波器的matlab仿真
  9. Ubuntu磁盘分区和内存查看
  10. matlab 信号生成,Matlab产生信号的方法