在使用web-view时发现了一个问题总是会过段时间自己跳转到web-view是src地址
由于我是写的轮播图中嵌套一个web-view 所以当时我以为是轮播图和这个web-view冲突了
其实设计就是如此 自己跳
<web-view src="{{currentId}}"></web-view>
解决方案:
我们在轮播图或者新的按钮 加一个点击事件使其跳转到新的路由页面 在在新的路由页面嵌套一个web-view
父组件的js:
goWebView(e) {
let src = e.currentTarget.dataset.src;
swan.navigateTo({
url: `/pages/web/web?src=${src}`
});
},
父组件的swan:——下面这个是一个点击swiper的img需要跳转
<block s-for="item,index in itemBanners">
<swiper-item class="bannerImg">
<image src="{{item.pic}}" bind:tap="goWebView" data-src="{{item.url}}" hover-stop-propagation="true"> </image>
</swiper-item>
</block>
app.json中注册:
"pages/web/web"
web组件的js部分
onLoad(options) {
this.currentId = options.src;
this.setData({
currentId: options.src
});
console.log(options.src);
this.setNavigationBarColor();
}
web组件的swan部分:
<web-view src="{{currentId}}"></web-view>
由于跳转是需要点时间的 所以建议做一个loading的动画