微信小程序dom操作的替代思路实例分析
本文实例讲述了微信小程序dom操作的替代思路。分享给大家供大家参考,具体如下:
微信小程序无法操作dom,这意味着之前js中的各种习惯方法必须换一种思路实现
在尝试了几类情况后,发现部分情况下可以用{{}}
变量绑定来实现效果。
比如:
一、实现view的显示和隐藏
在js中的data设置变量 bottomhidden1:"block"
;
然后在wxml中的view中设置<view class="bottom1" style="display:{{bottomhidden1}}" > </view>
;
在其它我们需要的地方使用bindtap
等绑定事件,js中定义该事件的function,使用this.setdata
修改bottomhidden1变量为none或者block,实现对上文中的bottom1进行显示/隐藏控制
二、实现input中的 placeholder在获取焦点时清空,失去焦点时显示
1. 在js中,data中设置变量 pricehodler:"请输入价格",
2. 我们可以设置两个function控制变量pricehodler的值(此处添加了一种的方法实现输入框中删除图标的显示和消失,所以在data中设置了变量 clearimg)
displayimg:function(){ var imgdisplay="block"; var holderdisplay =""; this.setdata({ clearimg: imgdisplay, pricehodler: holderdisplay, }) }, hiddenimg:function(){ var imghidden = "none"; var holderhidden = "请输入价格"; this.setdata({ clearimg: imghidden, pricehodler: holderhidden, }) },
附:输入框内容删除图标的功能实现(在js的data中也设置了变量 usdvalue:null
,):
docleartext:function(){ this.setdata({ usdvalue: null, }) },
3. 在wxml中添加这个input
<view class="input_view"> <input type="text" placeholder="{{pricehodler}}" placeholder-class="input-placeholder" class="price_usd" id="price_usd" name="price_usd" value="{{usdvalue}}" bindfocus="displayimg" bindblur="hiddenimg"/> </view> <label class="clear_view" bindtap="docleartext"> <image style="display:{{clearimg}};" class="clear_img" src="../img/search_close.png"></image> </label>
这里将js的data中的pricehodler绑定给了placeholder,clearimg绑定在image的display属性上,bindfocus="displayimg"
bindblur="hiddenimg"
会控制前两个变量的值的变化, bindtap="docleartext"
会控制input的value的变化
希望本文所述对大家微信小程序开发有所帮助。
上一篇: 40道Java基础常见面试题及详细答案
下一篇: 心形饼干哪儿买