项目创建

npm:

or yarn:

项目结构

main.js

在个人想法上,我觉得createapp()是vue应用的实例,createapp支持链式调用

app.vue:

这是兼容vue2.0的语法,下面是vue3.0 rfc写法(还处于实验性阶段)。

setup

data

setup是结合了vue2.0的created生命周期函数和data还有methods(后面会提到)

可直接 export 属性(data)和方法(methods)

可以看出现在的name不是响应式的,后面会介绍响应式

methods

methods也是跟data一样,直接export

效果:

composition api

ref

声明:

ref可将一些基本属性变成响应式

reactive

上图是reactive和ref混合使用,至于效果,请各自复制下方代码体验

computed

声明:

效果:

watcheffect

声明:

效果:

组件系统

全局注册

app.vue

main.js

局部注册

app.vue

setup

props

声明props对象,在watcheffect中,console.log(props.msg)是可以看到父组件传的值。props的默认值和过滤在研究中。具体作用参考vue2.0 props作用

context

组件上下文

emit

声明emit函数,在setup=”props, { emit }”要写上emit,不然会报错,具体作用参考vue2.0 emit作用。

这是使用emit函数的一些例子。

attrs

研究ing…

slots

研究ing…

vue指令

重点讲v-model,其他vue指令与2.0一样

v-model

vue3.0开始支持多个双向绑定的参数,这是vue2.0没有的,v-model后面没有跟其他属性的话,那么在这个组件内部它的默认值是modelvalue,如果想更新v-model,那么就需要emit('update:modelvalue', data)去更新v-model的默认值modelvalue。那么v-model后面有属性的话(dragvalue),那么在这个组件内部它的值就是这个属性名(dragvalue),如果想更新v-model:dragvalue的值,就需要emit('update:dragvalue', data)去更新v-model自定义的值。

更多的用法参考官方的文档:

到此这篇关于详解vue3.0 + typescript + vite初体验的文章就介绍到这了,更多相关vue3.0 typescript vite内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!