我想在html里用vue3的setup写法。
不能直接这样来吗?<script setup></script>
非得像下面这样吗?
const App = {
setup() {}
}
我想在html里用vue3的setup写法。
不能直接这样来吗?<script setup></script>
非得像下面这样吗?
const App = {
setup() {}
}
如楼上所说setup
是 Vue3 loader 提供的语法糖,当使用<script setup>
的时候,任何在<script setup>
声明的顶层的绑定 (包括变量,函数声明,以及 import 引入的内容) 都能在模板中直接使用
<template>
<button @click="onAddNum">add Num {{ num }}</button>
</template>
<script setup>
import { ref } from "vue";
const num = ref(0);
constonAddNum = () => {
num.value++;
};
</script>
<script setup>
中可以使用顶层await
。结果代码会被编译成async setup()
,async setup()
必须与Suspense
组合使用,Suspense
目前还是处于实验阶段的特性
<Suspense>
<template>
Aaron
</template>
</Suspense>
<script setup>
const delay = () => {
return new Promise((res) => {
setTimeout(() => {
res();
},2000);
})
};
console.log("异步");
await delay();
console.log(`2s后执行`);
</script>
5 回答1.3k 阅读
4 回答1k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
5 回答2.5k 阅读
2 回答1.4k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
是的。建议使用vite来创建