我正在使用两页的Vue路由器:
let routes = [
{
path: '/',
component: require('./components/HomeView.vue')
},
{
path: '/intro',
component: require('./components/IntroView.vue')
}
]
除了我的每个组件都有不同的身体样式之外,这都可以正常工作:
HomeView.vue:
<template>
<p>This is the home page!</p>
</template>
<script>
export default {
}
</script>
<style>
body {
background: red;
}
</style>
IntroView.vue:
<template>
<div>
<h1>Introduction</h1>
</div>
</template>
<script>
export default {
}
</script>
<style>
body {
background: pink;
}
</style>
我的目标是使这两个页面具有不同的背景样式(最终在它们之间进行过渡)。但是,当我转到home
路线(带有red
背景),然后单击intro
路线时,背景颜色保持不变red
(我希望将其更改为pink
)。
编辑: index.html:
<body>
<div id="app">
<router-link to="/" exact>Home</router-link>
<router-link to="/intro">Introduction</router-link>
<router-view></router-view>
</div>
<script src="/dist/build.js"></script>
</body>
您可以在style元素中使用scoped属性。然后,样式将仅限于该vue文件。
HomeView.vue:
IntroView.vue: