求助。
zzmm1 opened this issue · comments
感谢你,请问我用this.$route.meta.title =this.title这种方式修改title,但也不好使,有时候有用,有时候没用,请问这是怎么回事呢。
不建议直接修改 $route.meta 的值来达到修改标题的目的
如果你希望不仅仅是使用$route的meta信息来决定标题
可以使用 computed 或者通过一个变量, Vuex 来控制
非常感谢您的回复,我的需求是这样的:
我用vue做了套SPA应用,通过vue-router来实现各“页面”的访问,我想实现每个“页面”都是动态获取的title,然后“页面”分享到微信朋友圈都有自己的title,而不是index.html里面的title。
请问,我这需求怎么好搞点呢?另外,不想使用微信的Js-Sdk
我用安卓和苹果的机子测试过(微信最新版)分享出去的 是动态设置的标题
如果你不希望使用 js-sdk
来控制URL
假设你的网页标题是根据文章标题来定的 我提供思路
有使用
vuex
的前提
- 定义一个
vuex mutation
功能是修改某个state
让后把标题设置成这个state
对应的getters
- 在获取到数据后
commit
这个mutation
普通路由切换 同样在路由的beforeEach
中commit
- 在用户加载完成之后 标题就已经改变了 此时分享出去的 就是最新的标题
没有使用
vuex
- App.vue 定义
computed
可以是挂载在window
下的全局变量 也可以挂载在Vue
的全局变量中 - 通过改变这个变量来控制
你的vue-wechat-title实例,我苹果机微信测试也是动态标题的,我用这种方式this.$route.meta.title =this.title动态设置标题就不好使了。
是的,我的网页标题是根据文章标题来定的。
你提供的这个思路必须要使用vuex吗?
好的,我就用computed 来试试,有什么最新情况,我再向你反馈。
再次感谢您的帮助。