目录

1.注册自定义特性

2.prop的大小写

3.传递给一个对象的所有属性

4.prop验证


1.注册自定义特性

当我们在注册组件时,希望其结构、样式和行为是不变的,但是数据应该是可变的,也就是说,所使用的数据应该由外界传递给组件。为了实现数据的接收,组件需要注册props,将数据作为一个自定义特性传递给组件,如下例:

div id="app"><video-item title='羊村摇'poster="https://developer.duyiedu.com/bz/video/955bac93ccb7f240d25a79b2ff6a9fdbda9537bc.jpg@320w_200h.webp"play="24323" rank="3423"></video-item>
</div>
//注册一个组件
Vue.component('video-item', {props: ['title', 'poster', 'play', 'rank'],template: `<div class="video-item"><div class="poster"><img :src="poster" :alt="title"><div class="info"><div class="play">{{ play }}</div><div class="rank">{{ rank }}</div></div></div><div class="title">{{ title }}</div></div>`
})
const vm = new Vue({el: "#app",
})

在上述模板中,我们能够在组件实例中访问这个值,就像访问data中的值一样

2.prop的大小写

HTML中的特性名是大小写不敏感的,所以浏览器会把所有大写字符解释为小写字符。因此,当传递的prop为短横线分隔命名时,组件内的props应为驼峰命名,如下例

<video-list :video-list="videoList"></video-list>     //短横线命名
Vue.component('video-list', {props: ['videoList'],   //驼峰命名template: `<div class="video-list"><video-itemv-for="video in videoList"v-bind="video"></video-item></div>`
})

3.传递给一个对象的所有属性

如果要将一个对象的所有属性都作为prop传入,可以使用不带参数的v-bind。

4.prop验证

在注册组件时,可以为组件的prop指定验证要求,即可以设置prop的数据类型,当所传数据不满足指定的数据类型时,Vue就会在浏览器控制台进行警告。

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

Vue.component('video-item', {props:{title: String,poster: String,play: Number,rank: String}
})

上述代码中,对prop进行了基础的类型检查,值类型可以为下列原生构造函数中的一种:String/Number/Boolean/Array/Object/Date/Function/Symbol/任何自定义构造函数,或者上述内容组成的数组

【注】null和undefined会通过任何类型验证,

除了基础类型检查外,还可以配置高级选项,对prop进行其他验证,如:类型检测、自定义验证和设置默认值。如下例:

Vue.component('video-item', {props:{title: {type: String,   //检查prop是否为给定的类型default: '羊村摇',  //为改prop指定一个默认值,对象或数组的默认值必须从一个工厂函数返回,如:default () { return {a: 1, b: 10} }required:true,  //定义该prop是否为必填项validator(prop) {   // 自定义验证函数,该prop的值回作为唯一的参数代入,若函数返回一个falsy的值,那么就代表验证失败return prop.length < 4;}}}`
})

vue_prop注册及验证相关推荐

  1. 正则表达式-注册表验证

    正则表达式-注册表验证 正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串& ...

  2. java数据库验证用户名,java新手:注册时验证用户名是否在数据库里已存在

    java新手:最近在实现ssh实现注册时验证用户名是否已经存在 在register.jsp里 required="required"表示输入框不可以为空, onblur事件会在对象 ...

  3. Javascript注册页面验证登录

    Javascript注册页面验证登录连接数据库. 目前登录功能好像出问题了,用不了数据库注册的信息用于登录.由于时间的原因,以后再更改.个人笔记,不建议拿去用,因为还存在问题没有解决. (1)inde ...

  4. ajax用户注册验证视频,jquery+ajax实现注册实时验证实例详解

    本文实例讲述了jquery+ajax实现注册实时验证.分享给大家供大家参考,具体如下: 当我们注册一个用户时,会实时提示该用户的信息是否可用,这就是ajax的应用,很久以前就看过这个实现了,今天又看了 ...

  5. Kaggle注册登陆验证问题、数据下载问题

    (1)kaggle注册无法验证问题 下载安装谷歌助手,里面有详细步骤 http://www.ggfwzs.com/ (2)kaggle 下载数据手机验证码问题 格式: +860手机号

  6. 工商注册身份验证 v1.0.1

    类型:系统工具 版本:v1.0.1 大小:10.4M 更新:2019/3/4 语言:简体 等级: 平台:安卓, 4.0以上 下载地址: 工商注册身份验证 v1.0.1(1) 工商注册身份验证 v1.0 ...

  7. 原生JavaScript实现登录注册前端验证

    原生JavaScript实现登录注册前端验证 功能:实现一个简单的前端登录页面的验证, 废话不多说,直接上代码... 登录窗口代码段... //html <div class="log ...

  8. 小兔鲜注册页面验证、阶段案例(登录、首页页面)(重点)、小兔鲜放大镜效果——DOM

    目录 1. 小兔鲜注册页面验证 2. 阶段案例(登录.首页页面)(重点) 3. 小兔鲜放大镜效果 1. 小兔鲜注册页面验证 验证码模块有个小问题: 连续点击获取验证码会导致触发多次计时器,会导致计时出 ...

  9. 免费使用 Google 防注册机验证

    准备 要有谷歌账户,去注册 https://www.google.com/recaptcha/admin.我们使用 reCAPTCHA v3 填入你的域名,技巧: 1.可多个域名存放在一个网站下(其实 ...

最新文章

  1. CNN结构设计技巧:兼顾速度精度与工程实现
  2. 补充spring事务传播性没有考虑的几种情况
  3. abap对采购订单强制置为”交货已完成“状态(BAPI_PO_CHANGE、BAPI_PO_RELEASE、BAPI_PO_RESET_RELEASE)
  4. flutter中本地存储shared_preferences的使用
  5. android 手机内存其他文件夹里,手机储存里的其他是什么以及应该怎样删除
  6. Hihocoder-1135-Magic Box
  7. 别再说Python没有枚举类型了,好好看看
  8. python缩进用什么键盘好_python中缩进使用空格还是tab键
  9. Redis(案例六:ZSet数据)
  10. 彻底学会使用epoll(一)——ET模式实现分析
  11. Android平台RTMP多实例推送的几种情况探讨
  12. MySQL进阶之索引
  13. python3.6+selenium_使用外部数据的数据驱动
  14. 【python 笔记】集合类型详解
  15. C++——unique()和unique_copy()
  16. android 截屏 分享,Android应用内截图分享的实现记录
  17. 需求分析 转自:http://fangang.iteye.com/blog/1345099
  18. CAJ VIEWER 7.2 已停止工作(正确的处理方法,最快最正确的方法,网上的其他方法也就是看看,很难找到问题的正确办法)
  19. 车险赔付率分析报告_车险经营情况分析报告模板.ppt
  20. python自动生成sql建表语句

热门文章

  1. PyCairo 中的透明度
  2. ElasticSearch探索之路(三)分布式原理:分布式路由、存储、搜索原理
  3. 【今晚7点】:圆桌PI回归 继续聊聊开源的故事
  4. 在3kbps的带宽下还能清晰地语音聊天?
  5. 相芯科技蔡锐涛:AI虚拟形象——没有最完美,只有更完美
  6. 【专场】揭秘端到端视频技术
  7. 剑指offer之31-35题解
  8. 第一篇|腾讯开源项目盘点:WeUI,WePY,Tinker,Mars等
  9. getcwd()函数用法
  10. 你与那些经验老练的程序员就差一个 英文编程单词表!【文中资源分享】