微信小程序data数据中key参数动态设置一次使用!
七娃博客790人阅读
微信小程序开发遇到这样一个页面,搜索推荐页面,有历史搜索、标签、行业,点击下拉可以显示全部,写js事件的时候,要根据参数写三个一样的js事件,很麻烦!
动态参数方法——慎用
1.html中 自定义参数,设置需要动态修改的参数
<view class="icon-drop {{hisFlag?'on margin-b20':''}}" bindtap="toggleBtn" data-box="hisFlag">
2.js动态切换代码
toggleBtn:function(e){ let flagName = e.currentTarget.dataset.box; let flag= !this.data[flagName]; this.setData({ [flagName]:flag }) },
这样多话就实现了,点击谁的下拉,就显示谁的全部菜单数据了。功能很简单,不过就是data动态key参数的使用方法。
获取data动态参数的值:
let val=this.data[canName]
动态设置data中key对应的值
this.setData({ [flagName]:flag })
这种写法是ES6的解构新特性,没想到小程序竟然兼容。
虽然实现了功能,但是最后我又改回去了,写了三遍js,原因就是:动态写相当于是for循环,假如数据多了,循环会造成卡顿等现象,过于消耗内存,虽然用着爽,写代码方便了,为了更好的用户体验,还是有几个写几个吧。
评论 | 0 条评论
登录之后才可留言,前往登录