有一个新闻列表页面,点击某条新闻跳转到新闻详情页面,传参数id,有时正常有时id为空详情就加载不了,列表页面跳转到详情的js逻辑
godetail: function (event) {
var aid = event.currentTarget.dataset.testid
if(aid){
wx.navigateTo({
url: ‘…/my/detail?aid=’ + aid
})
} }
详情页面 detail.html
<web-view src=“https://testserver.com/Wxapp/Show/index/id/{{id}}”>web-view>
详情页面detail.js
const app = getApp()
Page({
/** 页面的初始数据 */
data: {
id: ‘’
},
onLoad: function (option) {
this.setData({
id: option.aid
})
})
})
列表点击到详情,在返回到列表在点击进详情,反复进入详情页面,在详情webview加载的web页面上输出id的值有时就为空。感觉上像是先渲染加载了webview才执行的小程序页面onLoad方法。
这个问题有什么解决方法??? 急
现在我是这么搞得,在详情页 detail.js 的初始化data中加了一个标识变量,id赋值时,标识变量改为true
const app = getApp()
Page({
/** 页面的初始数据 */
data: {
id: ‘’,
flag:false, // 标识变量
},
onLoad: function (option) {
this.setData({
id: option.aid,
flag:true,
})
})
})
wxml页面这么写的,flag==true时才会去渲染页面
<view wx:if="{{flag}}">
<web-view src=“https://test.com/Wxapp/Show/index/id/{{id}}”></web-view>
</view>
<view style=“text-align:center;” wx:else>
<image src=’…/common/images/timg.gif’ style=‘margin-top:40%;width:177px;height:175px;’></image>
</view>
比较笨的方法,虽然能保证每次详情页面能够有参数值,但是在列表页面跳转详情页面的时候中间有空白页面停顿的效果,体验不好。在详情页面,flag==false时有个loading提示的图片,不过基本没什么卵用,根本就不会看的这个loading就跳转过去了