在vue中,如果在以下名为app.vue的文件中声明,则text.vue的内容将应用于所有页面。顺便说一句,我不希望将text.vue应用于某些页面。有办法吗?
app.vue
<template>
<div>
<test></test>
</div>
</template>
答案 0 :(得分:1)
您可以使用v-if
来根据页面有条件地显示某些组件。
您尚未提供有关页面组织方式的任何详细信息,但假设您使用的是vue-router
,并且您的路线设置如下:
router.map({
'/page_one': { name: 'pageOne', component: PageOneView },
'/page_two': { name: 'pageTwo', component: PageTwoView },
});
然后,您可以在组件上添加v-if
来检查当前路线的名称:
<template>
<div>
<test v-if="['pageOne'].indexOf($route.name) > -1"></test>
</div>
</template>
上面代码中提供的数组表示您要隐藏组件的路线(如果希望将组件隐藏在指定的路线上,可以更改比较逻辑以仅在指定的路线上显示该组件。大部分路线)。