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 相关文章推荐
My Desktop :) 桌面式代码
Dec 29 Javascript
jquery cookie插件代码类
May 26 Javascript
js event事件的传递与冒泡处理
Dec 06 Javascript
javascript document.compatMode兼容性
Feb 23 Javascript
JavaScript下通过的XMLHttpRequest发送请求的代码
Jun 28 Javascript
javascript 回到顶部效果的实现代码
Feb 17 Javascript
jQuery模拟新浪微博首页滚动效果的方法
Mar 11 Javascript
js+canvas简单绘制圆圈的方法
Jan 28 Javascript
Web开发使用Angular实现用户密码强度判别的方法
Sep 27 Javascript
微信小程序登录换取token的教程
May 31 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
Jun 21 Javascript
antd日期选择器禁止选择当天之前的时间操作
Oct 29 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警告Creating default object from empty value 问题的解决方法
2014/04/02 PHP
简单谈谈php中ob_flush和flush的区别
2014/11/27 PHP
PHP+MYSQL中文乱码问题
2015/07/01 PHP
PHP简单读取PDF页数的实现方法
2016/07/21 PHP
PHP利用Mysql锁解决高并发的方法
2018/09/04 PHP
JavaScript自定义日期格式化函数详细解析
2014/01/14 Javascript
jQuery实现鼠标经过图片预览大图效果
2014/04/10 Javascript
非常漂亮的相册集 使用jquery制作相册集
2016/04/28 Javascript
jQuery基于ID调用指定iframe页面内的方法
2016/07/06 Javascript
javascript cookie用法基础教程(概念,设置,读取及删除)
2016/09/20 Javascript
JavaScript数据结构之链表的实现
2017/03/19 Javascript
jQuery菜单实例(全选,反选,取消)
2017/08/28 jQuery
基于Vue过渡状态实例讲解
2017/09/14 Javascript
基于vue v-for 多层循环嵌套获取行数的方法
2018/09/26 Javascript
jquery获取img的src值实例介绍
2019/01/16 jQuery
改进 JavaScript 和 Rust 的互操作性并深入认识 wasm-bindgen 组件
2019/07/13 Javascript
基于mpvue的简单弹窗组件mptoast使用详解
2019/08/02 Javascript
vue+elementUI中表格高亮或字体颜色改变操作
2020/11/02 Javascript
[01:42]DOTA2 – 虚无之灵
2019/08/25 DOTA
Python xlrd读取excel日期类型的2种方法
2015/04/28 Python
详解Python中for循环的使用方法
2015/05/14 Python
python选择排序算法实例总结
2015/07/01 Python
Python中operator模块的操作符使用示例总结
2016/06/28 Python
linux平台使用Python制作BT种子并获取BT种子信息的方法
2017/01/20 Python
Python实现重建二叉树的三种方法详解
2018/06/23 Python
python开发准备工作之配置虚拟环境(非常重要)
2019/02/11 Python
flask框架路由常用定义方式总结
2019/07/23 Python
美国最大的船只买卖在线市场:Boat Trader
2018/08/04 全球购物
东方红海科技面试题软件测试方面
2012/02/08 面试题
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
夜大毕业生自我评价分享
2013/11/10 职场文书
中国好声音广告词
2014/03/18 职场文书
大学生就业自我推荐信
2014/05/10 职场文书
教师节感谢信
2015/01/22 职场文书
MySQL数据库配置信息查看与修改方法详解
2022/06/25 MySQL
vue实现input输入模糊查询的三种方式
2022/08/14 Vue.js