Vue3 - 修改浏览器标题 htmlWebpackPlugin.options.title 的值
在Vue 3项目中,如果你使用了html-webpack-plugin
来设置页面的标题,并且想要在运行时动态修改这个标题,你可以通过访问document.title
来实现。
首先,确保你在vue.config.js
中正确配置了html-webpack-plugin
,例如:
// vue.config.js
module.exports = {
configureWebpack: {
plugins: [
new HtmlWebpackPlugin({
title: 'My App',
// 其他配置...
}),
],
},
};
然后,你可以在Vue组件中使用mounted
钩子函数来修改标题:
<script>
export default {
mounted() {
document.title = 'New Title';
},
};
</script>
每当这个组件被挂载时,浏览器的标题就会被设置为'New Title'。如果你需要在多个组件之间共享设置标题的逻辑,可以考虑使用Vuex或者提供一个全局的函数来更改标题。
如果你想要在多个页面上使用不同的标题,你可以使用Vue Router的导航守卫来在路由切换时设置标题:
const router = new VueRouter({
routes: [
{
path: '/home',
component: HomeComponent,
meta: { title: 'Home Page' },
},
// 其他路由...
],
});
router.beforeEach((to, from, next) => {
if (to.meta && to.meta.title) {
document.title = to.meta.title;
}
next();
});
在这个例子中,我们通过Vue Router的beforeEach
导航守卫在每次路由切换之前设置页面标题。这样,你可以在路由的定义中为每个页面设置不同的标题。
评论已关闭