微信小程序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 相关文章推荐
JS 文件本身编码转换 图文教程
Oct 12 Javascript
js 有框架页面跳转(target)三种情况下的应用
Apr 09 Javascript
document.forms用法示例介绍
Jun 26 Javascript
JS实现CheckBox复选框全选、不选或全不选功能
Jul 28 Javascript
js实现密码强度检测【附示例】
Mar 30 Javascript
js实现各种复制到剪贴板的方法(分享)
Oct 27 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
Jan 05 Javascript
微信小程序 本地数据存储实例详解
Apr 13 Javascript
详细分析JS函数去抖和节流
Dec 05 Javascript
vue cli2.0单页面title修改方法
Jun 07 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
Jul 18 Javascript
详解vue 组件的实现原理
Nov 12 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
深入浅析PHP无限极分类的案例教程
2016/05/09 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
2017/03/02 PHP
PHP7变量处理机制修改
2021/03/09 PHP
javascript String 对象
2008/04/25 Javascript
js每次Title显示不同的名言
2008/09/25 Javascript
jQuery实现精美的多级下拉菜单特效
2015/03/14 Javascript
jQuery Ajax调用WCF服务详细教程
2015/03/31 Javascript
javascript实现的固定位置悬浮窗口实例
2015/04/30 Javascript
JavaScript的RequireJS库入门指南
2015/07/01 Javascript
基于jQuery实现select下拉选择可输入附源码下载
2016/02/03 Javascript
BootStrap实现手机端轮播图左右滑动事件
2016/10/13 Javascript
Vue2.0 UI框架ElementUI使用方法详解
2017/04/14 Javascript
js实现点击切换checkbox背景图片的简单实例
2017/05/08 Javascript
vue实现前进刷新后退不刷新效果
2018/01/26 Javascript
浅谈Vue响应式(数组变异方法)
2018/05/07 Javascript
vue插件实现v-model功能
2018/09/10 Javascript
使用jQuery动态设置单选框的选中效果
2018/12/06 jQuery
开发中常用的25个JavaScript单行代码(小结)
2019/06/28 Javascript
浅入深出Vue之组件使用
2019/07/11 Javascript
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
2020/11/11 Javascript
[39:53]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.19
2020/11/19 DOTA
在服务器端实现无间断部署Python应用的教程
2015/04/16 Python
python删除过期文件的方法
2015/05/29 Python
python flask实现分页效果
2017/06/27 Python
flask框架jinja2模板与模板继承实例分析
2019/08/01 Python
Python数据分析模块pandas用法详解
2019/09/04 Python
简单了解python调用其他脚本方法实例
2020/03/26 Python
澳大利亚快时尚鞋类市场:Billini
2018/05/20 全球购物
马来西亚太阳镜、眼镜和隐形眼镜网上商店:Focus Point
2018/12/13 全球购物
J2EE包括哪些技术
2016/11/25 面试题
商务英语广告词大全
2014/03/18 职场文书
法定代表人身份证明书
2014/09/10 职场文书
学校元旦晚会开场白
2014/12/14 职场文书
2015年共青团工作总结
2015/05/15 职场文书
怎么禁用Win11输入法 最新Win11输入法关闭教程
2022/08/05 数码科技