欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-09-06 20:41:17
vueconf ,尤大说, vue 支持 ts 了,网上关于 vue + ts 的资料有点少, 楼主踩了一个星期坑,终于摸明白了 修饰器 的玩法,下面我们就来玩下 vue...

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装饰器的使用方法超实用教程,希望对大家有所帮助