vue_prop注册及验证
目录
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注册及验证相关推荐
- 正则表达式-注册表验证
正则表达式-注册表验证 正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串& ...
- java数据库验证用户名,java新手:注册时验证用户名是否在数据库里已存在
java新手:最近在实现ssh实现注册时验证用户名是否已经存在 在register.jsp里 required="required"表示输入框不可以为空, onblur事件会在对象 ...
- Javascript注册页面验证登录
Javascript注册页面验证登录连接数据库. 目前登录功能好像出问题了,用不了数据库注册的信息用于登录.由于时间的原因,以后再更改.个人笔记,不建议拿去用,因为还存在问题没有解决. (1)inde ...
- ajax用户注册验证视频,jquery+ajax实现注册实时验证实例详解
本文实例讲述了jquery+ajax实现注册实时验证.分享给大家供大家参考,具体如下: 当我们注册一个用户时,会实时提示该用户的信息是否可用,这就是ajax的应用,很久以前就看过这个实现了,今天又看了 ...
- Kaggle注册登陆验证问题、数据下载问题
(1)kaggle注册无法验证问题 下载安装谷歌助手,里面有详细步骤 http://www.ggfwzs.com/ (2)kaggle 下载数据手机验证码问题 格式: +860手机号
- 工商注册身份验证 v1.0.1
类型:系统工具 版本:v1.0.1 大小:10.4M 更新:2019/3/4 语言:简体 等级: 平台:安卓, 4.0以上 下载地址: 工商注册身份验证 v1.0.1(1) 工商注册身份验证 v1.0 ...
- 原生JavaScript实现登录注册前端验证
原生JavaScript实现登录注册前端验证 功能:实现一个简单的前端登录页面的验证, 废话不多说,直接上代码... 登录窗口代码段... //html <div class="log ...
- 小兔鲜注册页面验证、阶段案例(登录、首页页面)(重点)、小兔鲜放大镜效果——DOM
目录 1. 小兔鲜注册页面验证 2. 阶段案例(登录.首页页面)(重点) 3. 小兔鲜放大镜效果 1. 小兔鲜注册页面验证 验证码模块有个小问题: 连续点击获取验证码会导致触发多次计时器,会导致计时出 ...
- 免费使用 Google 防注册机验证
准备 要有谷歌账户,去注册 https://www.google.com/recaptcha/admin.我们使用 reCAPTCHA v3 填入你的域名,技巧: 1.可多个域名存放在一个网站下(其实 ...
最新文章
- CNN结构设计技巧:兼顾速度精度与工程实现
- 补充spring事务传播性没有考虑的几种情况
- abap对采购订单强制置为”交货已完成“状态(BAPI_PO_CHANGE、BAPI_PO_RELEASE、BAPI_PO_RESET_RELEASE)
- flutter中本地存储shared_preferences的使用
- android 手机内存其他文件夹里,手机储存里的其他是什么以及应该怎样删除
- Hihocoder-1135-Magic Box
- 别再说Python没有枚举类型了,好好看看
- python缩进用什么键盘好_python中缩进使用空格还是tab键
- Redis(案例六:ZSet数据)
- 彻底学会使用epoll(一)——ET模式实现分析
- Android平台RTMP多实例推送的几种情况探讨
- MySQL进阶之索引
- python3.6+selenium_使用外部数据的数据驱动
- 【python 笔记】集合类型详解
- C++——unique()和unique_copy()
- android 截屏 分享,Android应用内截图分享的实现记录
- 需求分析 转自:http://fangang.iteye.com/blog/1345099
- CAJ VIEWER 7.2 已停止工作(正确的处理方法,最快最正确的方法,网上的其他方法也就是看看,很难找到问题的正确办法)
- 车险赔付率分析报告_车险经营情况分析报告模板.ppt
- python自动生成sql建表语句