关于uniapp中navigateTo跳转不生效的解决办法
前言:如果你无论怎么弄都不生效,而且调试不报错!那这个可能会帮到你,因为我自己就是这样的,特此记录一下。
解决办法:查看自己项目中的pages.json配置文件中是否配置了你所要跳转的目标页面的路径
navigateTo URL :需要跳转的应用内非 tabBar 的页面的路径 , 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 ‘path?key=value&key2=value2’,path为下一个页面的路径,下一个页面的onLoad函数可得到传递的参数
携带参数
page1
methods: {
openInfo(e) {
var newsid = e.currentTarget.dataset.newsid;
console.log(newsid);
// //方法1
// uni.$emit('testObj',newsid)
// uni.navigateTo({
// url:"../infoDetails/info"
// })
//方法2
uni.navigateTo({
url:"../infoDetails/info?newsid="+newsid
})
// //方法3
// uni.navigateTo({
// url: "../infoDetails/info",
// success: function(res) {
// // 通过eventChannel向被打开页面传送数据
// res.eventChannel.emit('acceptDataFromOpenerPage', {
// newsid
// })
// }
// })
}
}
page2
export default {
// onLoad(e) {
// console.log("111",e)
// }
// onLoad() {
// const eventChannel = this.getOpenerEventChannel();
// // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
// eventChannel.on('acceptDataFromOpenerPage', function(data) {
// console.log("new", data)
// })
// }
onLoad() {
uni.$on('testObj', function(data) {
console.log("hello",data)
})
}
}
法2、3亲测有效。法1未打印出值