vue中typescript装饰器的使用方法超实用教程


Posted in Javascript onJune 17, 2019

VueConf ,尤大说, Vue 支持 Ts 了,网上关于 Vue + Ts 的资料有点少, 楼主踩了一个星期坑,终于摸明白了 修饰器 的玩法,下面我们就来玩下 Vue 的 decorator 吧

1,data 值的声明

vue中typescript装饰器的使用方法超实用教程 

在这里 public 声明的是公有属性, private 声明的是私有属性,私有属性要带 下划线

蓝色框里的内容是声明组件,在每个组件创建时都要带上, Components 中的写法如下

vue中typescript装饰器的使用方法超实用教程 

上面是 普通写法 ,下面是 懒加载写法

2.@Prop 父组件传值给子组件

vue中typescript装饰器的使用方法超实用教程 

父组件使用 v-bind 传递与js版本一样,在父组件接受是使用修饰器

@Prop({type:‘类型'})

readonly:传递的参数名称!:类型

一定要写全,不然后报错,也可以写个 接口 约束 类型

3.@Emit  子组件给父组件传值

vue中typescript装饰器的使用方法超实用教程 

@Emit('传给父组件的值')

callback

父组件接收与 js 版本一致

4.@Provide @Inject  混入

vue中typescript装饰器的使用方法超实用教程 

这个没什么说的, @Provide 声明一个值 , 在其他地方用 @Inject 接收

5.@Model 双向绑定

vue中typescript装饰器的使用方法超实用教程 

这个也很简单,v-model绑定一个值,在子组件使用 @Model('页面展示的值') 值类型

这里我偷懒,声明一样的 (手动笑哭)

5.@Watch   监听函数

vue中typescript装饰器的使用方法超实用教程 

@Watch('监听的值',{深度监听})

callback 回调函数

6.钩子函数的声明

与js基本一致

Ts          -> Js
public create() {} -> create() {}
public mounted() {}  ->  mounted() {}
eg:
private _changeMsg() {} ->  methods: {
_changeMsg() {}
}
eg:
private get _changeValue() {} -> computed: {
_changeValue() {}
}
public destory() {}      -> destory() {}

7.@State vuex中state的值

vue中typescript装饰器的使用方法超实用教程 

@State(state => state数据里的参数) 页面展示的值

!!!!!! 注意vuex的数据都要在钩子函数里 调用 !!!!!!!!!!!!!!

8.@Mutation  vuex中的mutation

vue中typescript装饰器的使用方法超实用教程 

使用与 @State 一致

!!!!!!!!!!!!!需要注意的是要写一个接口 将state里面的数据类型写进去,如果直接用

state编辑器会报错 , 当然声明any类型也是可以的, 但是用了Ts还是尽量不要用any吧  

    !!!!!!!!!!!!!!!!!!!!

9.@Action vuex 中的action

vue中typescript装饰器的使用方法超实用教程 

@Action('action里的方法名') 页面展示的方法

!!!!!!!!  由于异步,需要加async await 不然会一直处在padding状态,

 使用promise也是可以的            !!!!!!!!!!!!!!!

至于 vue.config.js 网上很多方法,有兴趣的可以去找下,在这里贴下自己的

vue中typescript装饰器的使用方法超实用教程vue中typescript装饰器的使用方法超实用教程

     vue中typescript装饰器的使用方法超实用教程

      !!!!!!!!!!!!!!!!!!!!!!!

       使用时一定引入修饰器  

以上就是小编给大家姐的vue中typescript装饰器的使用方法超实用教程,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
HTML页面弹出居中可拖拽的自定义窗口层
May 07 Javascript
jQuery+AJAX实现无刷新下拉加载更多
Jul 03 Javascript
jquery实现图片水平滚动效果代码分享
Aug 26 Javascript
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
Sep 14 Javascript
JS中微信小程序自定义底部弹出框
Dec 22 Javascript
input输入密码变黑点密文的实现方法
Jan 09 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
Apr 03 jQuery
详解webpack+express多页站点开发
Dec 22 Javascript
jQuery实现的点击按钮改变样式功能示例
Jul 21 jQuery
详解微信小程序canvas圆角矩形的绘制的方法
Aug 22 Javascript
js最全的数组的降维5种办法(小结)
Apr 28 Javascript
面试中canvas绘制图片模糊图片问题处理
Mar 13 Javascript
简单学习5种处理Vue.js异常的方法
Jun 17 #Javascript
js/jQuery实现全选效果
Jun 17 #jQuery
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
Jun 17 #Javascript
通过说明与示例了解js五种设计模式
Jun 17 #Javascript
简单了解vue.js数组的常用操作
Jun 17 #Javascript
送你43道JS面试题(收藏)
Jun 17 #Javascript
通过实例学习React中事件节流防抖
Jun 17 #Javascript
You might like
关于Iframe如何跨域访问Cookie和Session的解决方法
2013/04/15 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
2014/12/16 PHP
浅析php中array_map和array_walk的使用对比
2016/11/20 PHP
PHP实现文件上传功能实例代码
2017/05/18 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
在线游戏大家来找茬II
2006/09/30 Javascript
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
js如何获取file控件的完整路径具体实现代码
2013/05/15 Javascript
js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件
2014/01/27 Javascript
JavaScript实现的图像模糊算法代码分享
2014/04/22 Javascript
jQuery+ajax实现鼠标单击修改内容的思路
2014/06/29 Javascript
JavaScript截取字符串的2个函数介绍
2014/08/27 Javascript
Javascript中3个需要注意的运算符
2015/04/02 Javascript
js获取字符串字节数方法小结
2015/06/09 Javascript
ES6记录异步函数的执行时间详解
2016/08/31 Javascript
JS实现checkbox互斥(单选)功能示例
2019/05/04 Javascript
Python读写unicode文件的方法
2015/07/10 Python
使用Python爬取最好大学网大学排名
2018/02/24 Python
Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
2018/03/04 Python
Python生成任意范围任意精度的随机数方法
2018/04/09 Python
django进阶之cookie和session的使用示例
2018/08/17 Python
Python基于requests库爬取网站信息
2020/03/02 Python
Python Tornado批量上传图片并显示功能
2020/03/26 Python
英国最全面的橄榄球联盟门票网站:Live Rugby Tickets
2018/10/06 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
团员学习总结的自我评价范文
2013/10/14 职场文书
财务会计自荐信范文
2014/02/21 职场文书
房地产财务部员工岗位职责
2014/03/12 职场文书
内蒙古鄂尔多斯市市长寄语
2014/04/10 职场文书
机械加工与数控专业自荐书
2014/06/04 职场文书
2014年群众路线党员自我评议
2014/09/24 职场文书
CSS 伪元素::marker详解
2021/06/26 HTML / CSS
Nginx 反向代理解决跨域问题多种情况分析
2022/01/18 Servers
Python装饰器详细介绍
2022/03/25 Python
解决Windows Server2012 R2 无法安装 .NET Framework 3.5
2022/04/29 Servers