昨天写了个左侧菜单读取后台功能,在setup中需要用到异步,且立即执行,先上代码
import { getleftmenu } from "@/bll/user/layout"; export default { name: "LayoutAside", props: ["isCollapse"], async setup() { const menuinfos = await getleftmenu().then((res) => { return res; }); return { menuinfos }; }, };
但是不能执行,找了生命周期这些都不行,后来找到了一个异步组件suspense,这是VUE3的新特性,需要放在父组件中,我直接放在根文件App.vue里面了,暴力了点,然后刷新,直接显示。
<template> <div id="app"> <suspense> <router-view /> </suspense> </div> </template> <script> export default { name: "App", }; </script>