这个问题出现的原因是,我的A页面的title是需要请求后台接口后才能设置的,请求接口是一个异步请求,这个请求发出后,
里面跳转到另外一个页面B,已经发出的异步请求,并没有停止,而是等返回后执行wx.setNavigationBarTitle。这样就把B页面的titile给设置了。
解决办法:
我的是在A页面异步请求返回一个xx名称后,再将页面A的标题设置为xx名称。
data:{
tName:''
},
watch: {
tName(curVal, oldVal) {
var pages = getCurrentPages()
var currentPage = pages[pages.length - 1]
if (currentPage.route === 'pages/list') {
wx.setNavigationBarTitle({
title: curVal
})
}
}
},
methods: {
fetchlist() {
ajax().then(res => {
this.tName= res.data.name
})
}
}
方法就是通过watch
配合 currentPage.route === '当前页面路径'
使用。
实测没有问题。
网上的其他方法 也试过。 最后 这个 实测 通过。