vue3语法糖script setup
在vue3种setup的写法,可以单独写setup()也可以写到script标签中,当然我们推荐后面这种
他的好处有很多,代码也简洁很多。
1、属性和方法无需return,可直接使用
/*原先*/ ? /*使用script-setup语法糖*/
2、import组件自动注册,无需写到components中
/*原先*/? /*用script-setup语法糖后*/ //组件的引入使用已不再需要components注册才能使用了,直接引入就可以在tamplate使用了,这个更改让代码看起来更舒服简介了一些
3、组件使用的变化
props用法defineProps
//原来 props: { title: { type: String, default: '', required: true, }, }, //使用script-setup后
import {defineProps} from 'vue'
const props = defineProps({ title: { type: String, default: '', required: true, }, })
emit用法变化defineEmits
//原来 emit:['h-update','h-delete'] //使用script setup后 import { defineEmits } from 'vue' const emit = defineEmits(['h-update', 'h-delete'])
attrs和slot用法变化
//原来 setup(props,context){ const { attrs, slots, emit } = context // attrs 获取组件传递过来的属性值, // slots 组件内的插槽 } //使用script setup后 import { useContext } from 'vue' const { slots, attrs } = useContext()
组件对外暴露属性defineExpose
//子组件 {{msg}} //父组件
4、使用自定义指令
全局注册的自定义指令将以符合预期的方式工作,且本地注册的指令可以直接在模板中使用,就像上文所提及的组件一样。
但这里有一个需要注意的限制:必须以 vNameOfDirective 的形式来命名本地自定义指令
,以使得它们可以直接在模板中使用
This is a Heading
导入指令: