vue框架中props的typescript用法详解


Posted in Javascript onFebruary 17, 2020

什么是typescript

typescript 为 javaScript的超集,这意味着它支持所有都JavaScript都语法。它很像JavaScript都强类型版本,除此之外,它还有一些扩展的语法,如interface/module等。
typescript 在编译期会去掉类型和特有语法,生成纯粹的JavaScript。

Typescript 5年内的热度随时间变化的趋势,整体呈现一个上升的趋势。也说明ts越来越️受大家的关注了。

在vue中使用typescript时,需要引入vue-property-decorator库来兼容格式。

javascript写法

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

typescript写法

@Prop({
  type: Array,
  default: function(): Array<LabelData> {
   return [];
  }
 })
 label_list: Array<LabelData> | undefined;

typescript和javascript在用法的区别,主要是需要严格规定label_list的类型。

但是,在vue里面,prop是不能赋初始值的。这个规则和typescript会发生矛盾,因此定义类型需要加undefined,避免typescript转义告警。

在代码中使用label_list时,需要用label_list as Array的语法,转换成正常的数组格式

参考链接

vue props

vue-property-decorator

总结

以上所述是小编给大家介绍的vue框架中props的typescript用法详解,希望对大家有所帮助!

Javascript 相关文章推荐
js 控制下拉菜单刷新的方法
Mar 03 Javascript
js中对函数设置默认参数值的3种方法
Oct 23 Javascript
基于jQuery实现搜索关键字自动匹配功能
Mar 26 Javascript
JavaScript生成验证码并实现验证功能
Sep 24 Javascript
easyui combobox开启搜索自动完成功能的实例代码
Nov 08 Javascript
详解node单线程实现高并发原理与node异步I/O
Sep 21 Javascript
基于Angular中ng-controller父子级嵌套的相关属性详解
Oct 08 Javascript
使用form-create动态生成vue自定义组件和嵌套表单组件
Jan 18 Javascript
JQuery常用简单动画操作方法回顾与总结
Dec 07 jQuery
Electron整合React使用搭建开发环境的步骤详解
Jun 07 Javascript
vue中v-model对select的绑定操作
Aug 31 Javascript
避坑之 JavaScript 中的toFixed()和正则表达式
Apr 19 Javascript
JS通用方法触发点击事件代码实例
Feb 17 #Javascript
JS前端广告拦截实现原理解析
Feb 17 #Javascript
JavaScript代码异常监控实现过程详解
Feb 17 #Javascript
windows下create-react-app 升级至3.3.1版本踩坑记
Feb 17 #Javascript
npx create-react-app xxx创建项目报错的解决办法
Feb 17 #Javascript
Vue的双向数据绑定实现原理解析
Feb 17 #Javascript
JavaScript函数Call、Apply原理实例解析
Feb 17 #Javascript
You might like
php 冒泡排序 交换排序法
2011/05/10 PHP
PHP递归返回值时出现的问题解决办法
2013/02/19 PHP
php实现遍历多维数组的方法
2015/11/25 PHP
由php中字符offset特征造成的绕过漏洞详解
2017/07/07 PHP
PHP时间处理类操作示例
2018/09/05 PHP
phpcmsv9.0任意文件上传漏洞解析
2020/10/20 PHP
根据分辨率不同,调用不同的css文件
2006/07/07 Javascript
jquery remove方法应用详解
2012/11/22 Javascript
js setTimeout 常见问题小结
2013/08/13 Javascript
JavaScript简单实现网页回到顶部功能
2013/11/12 Javascript
浅析JavaScript中两种类型的全局对象/函数
2013/12/05 Javascript
jQuery插件boxScroll实现图片轮播特效
2015/07/14 Javascript
JavaScript中var关键字的使用详解
2015/08/14 Javascript
Angular.js与Bootstrap相结合实现手风琴菜单代码
2016/04/13 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
2016/06/25 Javascript
纯JS单页面赛车游戏制作代码分享
2017/03/03 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
2017/04/18 Javascript
使用ionic播放轮询广告的实现方法(必看)
2017/04/24 Javascript
Angular 2父子组件数据传递之局部变量获取子组件其他成员
2017/07/04 Javascript
vue中动态绑定表单元素的属性方法
2018/02/23 Javascript
微信小程序ibeacon三点定位详解
2018/10/31 Javascript
JS浅拷贝和深拷贝原理与实现方法分析
2019/02/28 Javascript
浅谈vue.use()方法从源码到使用
2019/05/12 Javascript
Vue2.x通用条件搜索组件的封装及应用详解
2019/05/28 Javascript
微信小程序简单的canvas裁剪图片功能详解
2019/07/12 Javascript
Python中使用strip()方法删除字符串中空格的教程
2015/05/20 Python
Python3 列表,数组,矩阵的相互转换的方法示例
2019/08/05 Python
python将unicode和str互相转化的实现
2020/05/11 Python
python使用dlib进行人脸检测和关键点的示例
2020/12/05 Python
解决Pyinstaller打包软件失败的一个坑
2021/03/04 Python
林清轩官方网站:山茶花润肤油开创者
2016/10/26 全球购物
澳大利亚婴儿、幼儿和儿童在线设计师商店:Smooch Baby
2019/02/16 全球购物
财务总监管理职责范文
2014/03/09 职场文书
企业业务员岗位职责
2014/03/14 职场文书
课外科技活动总结
2014/08/27 职场文书
浅谈Vue的computed计算属性
2022/03/21 Vue.js