从另一个组件中排除可恢复的全局组件

时间:2019-01-30 12:16:51

标签: javascript vue.js vuejs2 vue-component single-page-application

因此,我有许多组件,其中只有一个组件,所有组件都带有侧边栏和导航条代码。因此,我做了合理的事情,并使它们(sidebar和navbar)都成为独立的组件。

现在,如果我将其导入App.vue中,它将显示在所有组件中,包括不需要的组件。

我该怎么做?顺便说一句,App.vue是我的中心点,也是我从其中加载router-view的地方

1 个答案:

答案 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">