微信小程序dom操作的替代思路实例分析


Posted in Javascript onDecember 06, 2018

本文实例讲述了微信小程序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的变化

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
Javascript Web Slider 焦点图示例源码
Oct 10 Javascript
jquery css 设置table的奇偶行背景色示例
Jun 03 Javascript
jquery实现简单的无缝滚动
Apr 15 Javascript
jQuery结合CSS制作漂亮的select下拉菜单
May 03 Javascript
JavaScript与HTML的结合方法详解
Nov 23 Javascript
IntersectionObserver API 详解篇
Dec 11 Javascript
javascript表单正则应用
Feb 04 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
Jul 26 Javascript
jquery对table做排序操作的实例演示
Aug 10 jQuery
vuex入门最详细整理
Mar 04 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
Oct 27 Javascript
JavaScript模拟实现网易云轮播效果
Apr 04 Javascript
详解Webstorm 下的Angular2.0开发之路(图文)
Dec 06 #Javascript
微信小程序实现通过js操作wxml的wxss属性示例
Dec 06 #Javascript
初探Vue3.0 中的一大亮点Proxy的使用
Dec 06 #Javascript
vue中v-for通过动态绑定class实现触发效果
Dec 06 #Javascript
vue通过指令(directives)实现点击空白处收起下拉框
Dec 06 #Javascript
Vue-CLI3.x 设置反向代理的方法
Dec 06 #Javascript
JavaScript中引用vs复制示例详析
Dec 06 #Javascript
You might like
phpmyadmin的#1251问题
2006/11/25 PHP
PHP通过COM使用ADODB的简单例子
2006/12/31 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
2014/06/22 PHP
PHP实现视频文件上传完整实例
2014/08/28 PHP
php使用wordwrap格式化文本段落的方法
2015/03/17 PHP
Yii框架操作cookie与session的方法实例详解
2019/09/04 PHP
TNC vs BOOM BO3 第二场2.13
2021/03/10 DOTA
js弹出框轻量级插件jquery.boxy使用介绍
2013/01/15 Javascript
js 自动播放的实例代码
2013/11/19 Javascript
jquery.post用法示例代码
2014/01/03 Javascript
JavaScript数字和字符串转换示例
2014/03/26 Javascript
AngularJS模块管理问题的非常规处理方法
2015/04/29 Javascript
JavaScript中setFullYear()方法的使用详解
2015/06/11 Javascript
JavaScript节点及列表操作实例小结
2015/08/05 Javascript
jQuery对象的链式操作用法分析
2016/05/10 Javascript
最佳的JavaScript错误处理实践
2016/07/16 Javascript
深入理解JS正则表达式---分组
2016/07/18 Javascript
详解nodejs 文本操作模块-fs模块(一)
2016/12/22 NodeJs
vue项目中用cdn优化的方法
2018/01/03 Javascript
基于nodejs的雪碧图制作工具的示例代码
2018/11/05 NodeJs
数据挖掘之Apriori算法详解和Python实现代码分享
2014/11/07 Python
Django中更新多个对象数据与删除对象的方法
2015/07/17 Python
一个月入门Python爬虫学习,轻松爬取大规模数据
2018/01/03 Python
解决PyCharm同目录下导入模块会报错的问题
2018/10/13 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
2019/01/29 Python
Python3.7 dataclass使用指南小结
2019/02/22 Python
python:按行读入,排序然后输出的方法
2019/07/20 Python
在Pytorch中使用样本权重(sample_weight)的正确方法
2019/08/17 Python
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
星级党支部申报材料
2014/05/31 职场文书
消防安全标语
2014/06/07 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
优秀班主任事迹材料
2014/12/16 职场文书
家长会欢迎词
2015/01/23 职场文书
困难补助申请报告
2015/05/19 职场文书
农村结婚典礼主持词
2015/06/29 职场文书