微信小程序嵌套webview页面条件控制是否返回小程序

微信小程序嵌套webview页面条件控制是否返回小程序,第1张

在微信小程序中,可以使用 webview 嵌套 web 页面,有些时候在 web 页面填写了表单没有提交,当用户点击左上角小程序的返回时,希望可以d框提示用户还有未保存内容,是否确定返回,根据用户选择之后在确定是否返回。

由于返回图标是微信小程序自带的,因此我们无法通过 web 页面的路由离开钩子(如:vue中beforeRouterLeave钩子函数)来控制页面是否关闭,因此想要在离开页面时在 web 页面进行逻辑控制是有难度的。

使用浏览器的 popstate 事件来禁止页面跳转。

 <block wx:for-items="{{array}}" wx:key="{{item.id}}">  

做最外层循环,这里array的数组元素,就变为item了,item有2个属性,其中一个是list,

循环我们需要的数据,然后我们和往常使用wx:for一样,item遍历的时候直接item.info    item.list 等等直接使用就可以

但是当我们点击类名需要显示二级分类list里面的列表

 <block wx:for-items="{{array}}" wx:key="{{item.id}}">  

【注意】 这个 wx:for-items="{{array}}" 默认的循环项为item,不需要指定了。所以,第二层循环的item,解释器已经理解了,就是指向array的,现在item下面的list,依旧是一个数组,我们可以在嵌套来遍历他。

<block wx:for-items="{{item.list}}" wx:for-item="page" wx:key="*item"> 

用wx:for-items="{{item.list}}",对array里面的list属性内嵌数组做了遍历循环      注意后面跟了 wx:for-item="page"  而且item没有s  

就是对指向array的 item 的元素 list 数组的元素重新命名为page了,后面的page *** 作,就是对这个内嵌数组 *** 作,二层循环用page.name   page.url就可以了。这里wx:for-item的命名其实是一个可选项,如果不命名,默认就是item,也就是嵌套的循环下标也是item,大概是为了避免误解,导致,微信团队,又加了这一个功能,个人觉得有点多余。

1、服务器获取到的数组中嵌套 对象组成的数组,控制台输出:

2、解析并绑定服务器获取到的数据,.js文件:

3、绑定一层的shopList数据, .wxml文件:

4、绑定shopList数组中的二层equips数据,.wxml文件 中 只需要item.equips即可

最开始循环获取到数据后,总以为需要嵌套循环出二层数组对象,并分别绑定数据。兜兜转转绕了一大圈,发现只要将一级数组循环获取到,二层数组对象直接“item.xxx”就可以在wxml文件中直接进行数据绑定了。 


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11282360.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存