bug缺陷:【小程序】打开分享公告及活动后,标题显示乱码,且分享出来的小程序标题显示不对 如图
解决思路误差
我想的是:1.我想的是在activity.vue这里去分享标题,(但是这里是错误的,因为它是点开卡片后,再跳转公众号的,因此该文件的标题只能是“园区活动”,那么小标题应该定位在卡片) 2.将错误定位到具体的x-activity-card.vue,但是这里的路径跳转都是对的,更不用在onload那里加share 也不会在跳转公众号那个地方进行解码 3.再将错误定位到写的那个跳转公众号的组件web-view,使用decodeURIComponent()这个方法,将该组件的标题进行中文解码 结论:就是中文乱码用decodeURIComponent()这个方法有效,没有效果是因为你找的地方不对 源代码
代码语言:javascript复制<template>
<view>
<web-view :src="url"></web-view>
</view>
</template>
<script>
export default {
data() {
return {
url:'',
share: {
title: ''//增加了这个
},
}
},
onLoad(e){
const {url , title } = e
this.url = decodeURIComponent(url);
if(this.isNotEmpty(title)){
this.setTitle(title);
}
this.share.title = decodeURIComponent(title) //增加了这个
},
methods: {
isNotEmpty(obj){
if(typeof obj == undefined || obj == null || obj == "" || obj == "undefined" || obj.length == 0){
return false;
}else{
return true;
}
},
setTitle(title){
uni.setNavigationBarTitle({
title:decodeURIComponent(title)
})
}
}
}
</script>
<style>
</style>
使用方法:
代码语言:javascript复制//原来的
wx.setNavigationBarTitle({
title: options.name
})
//解决方法
wx.setNavigationBarTitle({
title: decodeURIComponent(options.name)
})