如何在vue3组合API上定义和使用带有SFC <script setup>
的新语法糖的指令?使用options API时,以前是这样的
import click_outside from "@/directives/click-outside.js";
export default {
directives: {
"click-outside": click_outside,
},
...
}
click-outside.js
<script setup>
import {defineProps, onBeforeMount, onUnmounted, directive } from "vue";
const onBeforeMount = (el, binding) => {
...
};
const onUnmounted = (el) => {
...
};
</script>
我在组合API中找不到相同的对应代码
3条答案
按热度按时间8wtpewkr1#
与常规
script
SFC的功能对等通过3种不同的方式实现。setup
中的props
参数和组件选项中的props
、emits
、expose
字段通过使用define...
帮助器提供。setup
中的context
(仅限slots
和attrs
属性)参数通过使用use...
帮助器提供。components
和directives
是通过使用相同名称的导入间接提供的。其余的特性(例如
name
属性)仍然由可以与script setup
共存的script
元素提供。ee7vknir2#
@Estus Flask的答案已经足够了,但需要澄清的是,您只需像使用PascalCase或camelCase组件那样导入指令,就可以直接在模板中使用它。
bxpogfeg3#
导入指令:
和用途: