因此,我有许多组件,其中只有一个组件,所有组件都带有侧边栏和导航条代码。因此,我做了合理的事情,并使它们(sidebar和navbar)都成为独立的组件。
现在,如果我将其导入App.vue
中,它将显示在所有组件中,包括不需要的组件。
我该怎么做?顺便说一句,App.vue是我的中心点,也是我从其中加载router-view
的地方
答案 0 :(得分:0)
@Badgy回答
制作一个use Phpro\Chart\ChartJs\Doughnut\DoughnutChart;
use Phpro\Chart\ChartJs\Doughnut\DoughnutData;
use Phpro\Chart\ChartJs\Doughnut\DoughnutDataset;
use Phpro\Chart\ChartJs\Doughnut\DoughnutOptions;
示例:
v-if="$route.path !== 'yourpathwhereyoudontwantthenavbar
我自己的另一种选择:
定义您希望这些组件在路由对象https://router.vuejs.org/guide/advanced/meta.html的meta选项中出现的位置。它或多或少只是一种附加任意信息的方法,您可以从当前路线获取该信息以确定例如您的布局
// this will not display the sidebar on the register page
<Sidebar v-if="$route.path !== '/register'" />
如果您不希望仅在1个组件中使用它,则可以执行const router = new Router({
routes: [
{
path: '/users',
name: 'users',
component: Users,
meta: { sidebar: true, navbar: true },
},
},
})
// This will make the sidebar appear in the user page
<sidebar v-if="$route.meta.sidebar">