vue切换页面 动态设置meta和title标签内容

思路:

1)由于vue是单页面应用,index.html入口文件< head >标签只有一个,那么只能通过判断切换的路由

2)判断切换路由 需要在main.js全局js中 使用 router.beforeEach,to中可以获得将要去的组件的路由参数

3)如果title和meta标签内容是已经定好的,那就在router.js文件中设置需要辨别的参数–》在meta对象里自定义一个变量名 如:content / title,路由切换时直接读取

4)如果title和meta标签内容是后台配置的,我现在是请求接口获取。 传参是数字
可以在router.js文件中设置需要辨别的参数–》在meta对象里自定义一个数字变量名 如:index,这里有一个好处是哪些页面的title和meta标签内容是一样的 就可以设置一样的index,同样 路由切换时直接读取

5)下面就是请求接口,写个函数,该传参的传参,获取到接口的结果后 append给head标签

总体思路是这样,中间有些细节问题

1)刚进去的时候没有路由切换 或者切换完路由后刷新了页面 也就相当于没切换
有两种情况:一是第一次进入,index默认是首页的;二是切换了路由,这个可以在切换路由是记住这个变量
解决办法是:使用sessionstorage,无论首次还是刷新,只要改变储存的同一个变量

2)来回切换时 每次都创建一个新标签< meta > 和 < title >,需要销毁上一次的内容

3)路由里的index相同时 可以不请求,判断 router.beforeE

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值