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查找法实现当前栏目的高亮显示的代码
Nov 24 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
Mar 31 Javascript
jQuery往textarea中光标所在位置插入文本的方法
Jun 26 Javascript
javascript的几种继承方法介绍
Mar 22 Javascript
Javascript字符串常用方法详解
Jul 21 Javascript
AngularJS辅助库browserTrigger用法示例
Nov 03 Javascript
angularjs ocLazyLoad分步加载js文件实例
Jan 17 Javascript
如何在vue里添加好看的lottie动画
Aug 02 Javascript
Vue通过for循环随机生成不同的颜色或随机数的实例
Nov 09 Javascript
node.js使用yargs处理命令行参数操作示例
Feb 11 Javascript
JS图片懒加载技术实现过程解析
Jul 27 Javascript
js实现鼠标滑动到某个div禁止滚动
Sep 17 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
php xml-rpc远程调用
2008/12/19 PHP
ubuntu12.04使用c编写php扩展模块教程分享
2013/12/25 PHP
PHP处理bmp格式图片的方法分析
2017/07/04 PHP
ecshop添加菜单及权限分配问题
2017/11/21 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
2017/02/24 Javascript
jQuery Validate 相关参数及常用的自定义验证规则
2017/03/06 Javascript
Vue.js实现在下拉列表区域外点击即可关闭下拉列表的功能(自定义下拉列表)
2017/05/30 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
JS返回页面时自动回滚到历史浏览位置
2018/09/26 Javascript
小程序input数据双向绑定实现方法
2019/10/17 Javascript
微信小程序swiper实现文字纵向轮播提示效果
2020/01/21 Javascript
微信小程序国际化探索实现(附源码地址)
2020/05/20 Javascript
vue+springboot+element+vue-resource实现文件上传教程
2020/10/21 Javascript
[00:12]DAC2018 Miracle-站上中单舞台,他能否再写奇迹?
2018/04/06 DOTA
使用Python微信库itchat获得好友和群组已撤回的消息
2018/06/24 Python
python多线程并发让两个LED同时亮的方法
2019/02/18 Python
python 调用钉钉机器人的方法
2019/02/20 Python
python使用time、datetime返回工作日列表实例代码
2019/05/09 Python
python简单验证码识别的实现方法
2019/05/10 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
2019/08/17 Python
关于Python中定制类的比较运算实例
2019/12/19 Python
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
SmartBuyGlasses台湾:名牌眼镜,名牌太阳眼镜及隐形眼镜
2017/01/04 全球购物
Omio英国:搜索并比较便宜的巴士、火车和飞机
2019/08/27 全球购物
2014最新开业庆典策划方案(5篇)
2014/09/15 职场文书
大一新生检讨书
2014/10/29 职场文书
2015年机关党委工作总结
2015/05/23 职场文书
办公用品管理制度
2015/08/04 职场文书
2016年习主席讲话学习心得体会
2016/01/20 职场文书
励志语录:你若不勇敢,谁替你坚强
2019/11/08 职场文书
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
2021/03/31 Servers
Pytorch使用shuffle打乱数据的操作
2021/05/20 Python
Win10此设备不支持接收Miracast无法投影的解决方法
2022/07/07 数码科技