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 相关文章推荐
脚本吧 - 幻宇工作室用到js,超强推荐share.js
Dec 23 Javascript
单击某一段文字改写文本颜色
Jun 06 Javascript
webpack中引用jquery的简单实现
Jun 08 Javascript
详细分析JS函数去抖和节流
Dec 05 Javascript
JavaScript运行原理分析
Feb 09 Javascript
node实现登录图片验证码的示例代码
Apr 20 Javascript
Vue CLI 2.x搭建vue(目录最全分析)
Feb 27 Javascript
在vue中使用setInterval的方法示例
Apr 16 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
Apr 22 Javascript
javascript Canvas动态粒子连线
Jan 01 Javascript
原生javascript制作的拼图游戏实现方法详解
Feb 23 Javascript
JavaScript array常用方法代码实例详解
Sep 02 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
wiki-shan写的php在线加密的解密程序
2008/09/07 PHP
PHP合并数组+与array_merge的区别分析
2010/08/01 PHP
php分页代码学习示例分享
2014/02/20 PHP
详解php设置session(过期、失效、有效期)
2015/11/12 PHP
js模拟类继承小例子
2010/07/17 Javascript
js的2种继承方式详解
2014/03/04 Javascript
javascript调试之DOM断点调试法使用技巧分享
2014/04/15 Javascript
JS实现FLASH幻灯片图片切换效果的方法
2015/03/04 Javascript
js简单设置与使用cookie的方法
2016/01/22 Javascript
JS 日期与时间戮相互转化的简单实例
2016/06/22 Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
2016/08/24 Javascript
AngularJS 异步解决实现方法
2017/06/12 Javascript
JS中的算法与数据结构之列表(List)实例详解
2019/08/16 Javascript
vue 项目软键盘回车触发搜索事件
2020/09/09 Javascript
[01:31:22]Ti4 循环赛第四日附加赛LGD vs Mouz
2014/07/13 DOTA
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
python实现根据窗口标题调用窗口的方法
2015/03/13 Python
实例解析Python的Twisted框架中Deferred对象的用法
2016/05/25 Python
利用python写个下载teahour音频的小脚本
2017/05/08 Python
python实现简易云音乐播放器
2018/01/04 Python
对Python中plt的画图函数详解
2018/11/07 Python
python dlib人脸识别代码实例
2019/04/04 Python
Python 编程速成(推荐)
2019/04/15 Python
Python实现操纵控制windows注册表的方法分析
2019/05/24 Python
使用pytorch和torchtext进行文本分类的实例
2020/01/08 Python
SEPHORA新西兰官方网站:购买化妆品和护肤品
2016/12/02 全球购物
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
Nip + Fab官网:英国美容品牌
2019/08/26 全球购物
会计电算化专业毕业生求职信范文
2013/12/10 职场文书
酒店销售主管岗位职责
2014/01/04 职场文书
公司拓展活动方案
2014/02/13 职场文书
初三班主任寄语大全
2014/04/04 职场文书
辅导员评语
2014/05/04 职场文书
邀请书模板
2015/02/02 职场文书
公司出纳岗位职责
2015/03/31 职场文书
用python开发一款操作MySQL的小工具
2021/05/12 Python