在 Vue SPA 应用中,如果想要修改 HTML 的头部标签,如页面的 title ,我们只能去修改 index.html 模板文件,但是这个是全局的修改,如何为每个页面都设置不一样的 title 呢?下面介绍两种方法。
使用router.meta
在路由里面配置每个路由的地址:
routes: [ { /* (首页)默认路由地址 */ path: \'/\', name: \'Entrance\', component: Entrance, meta: { title: \'首页入口\' } }, { /* 修改昵称 */ path: \'/modifyName/:nickName\', name: \'modifyName\', component: modifyName, meta: { title: \'修改昵称\' } } ]
在每一个 meta 里面设置页面的 title 名字,最后在遍历
router.beforeEach((to,from, next) => { /* 路由发生变化修改页面title */ if (to.meta.title) { document.title = to.meta.title } next(); });
这样就为每一个VUE 的页面添加了title。
使用vue-meta插件
vue-meta 主要用于管理 HMTL 头部标签,同时也支持 SSR。
vue-meta有以下特点:
在组件内设置 metaInfo,便可轻松实现头部标签的管理
metaInfo 的数据都是响应的,如果数据变化,头部信息会自动更新
支持 SSR
在页面里面增加 metaInfo 选项
export default { data() { return { myTitle: \'标题\' } }, metaInfo: { title: this.title, titleTemplate: \'%s - by - vue-meta\', htmlAttris: { lang: \'zh\' }, script: \'\' } ... ... }
更多vue-meta使用请参考Github官网: https://github.com/declandewet/vue-meta
以上所述是小编给大家介绍的Vue.js项目中管理每个页面的头部标签的两种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
© 版权声明
THE END
暂无评论内容