微信小程序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连接access数据库的方法
Nov 17 Javascript
JavaScript 放大镜 移动镜片效果代码
May 09 Javascript
node.js中使用socket.io制作命名空间
Dec 15 Javascript
jQuery中attr()方法用法实例
Jan 05 Javascript
jQuery异步上传文件插件ajaxFileUpload详细介绍
May 19 Javascript
jQuery实现表单步骤流程导航代码分享
Aug 28 Javascript
angularjs学习笔记之三大模块(modal,controller,view)
Sep 26 Javascript
JS实现页面打印功能
Mar 16 Javascript
深入理解Vue transition源码分析
Jul 30 Javascript
微信小程序自定义toast实现方法详解【附demo源码下载】
Nov 28 Javascript
Vue组件创建和传值的方法
Aug 17 Javascript
浅谈vue 多个变量同时赋相同值互相影响
Aug 05 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直接修改表内容DataGrid功能实现代码
2015/09/24 PHP
PHP使用PDO访问oracle数据库的步骤详解
2017/09/29 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
2019/10/15 PHP
用javascript实现自定义标签
2007/05/08 Javascript
window.js 主要包含了页面的一些操作
2009/12/23 Javascript
javascript学习(一)构建自己的JS库
2013/01/02 Javascript
使用js的replace()方法查找字符示例代码
2013/10/28 Javascript
Javascript 多浏览器兼容总结(实战经验)
2013/10/30 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
随鼠标移动的时钟非常漂亮遗憾的是只支持IE
2014/08/12 Javascript
小结Node.js中非阻塞IO和事件循环
2014/09/18 Javascript
浅谈Jquery核心函数
2015/06/18 Javascript
javascript表格的渲染组件
2015/07/03 Javascript
JavaScript实现算术平方根算法-代码超简单
2015/09/11 Javascript
谈谈我对JavaScript DOM事件的理解
2015/12/18 Javascript
JS获取地址栏参数的两种方法(简单实用)
2016/06/14 Javascript
jQuery简单实现中间浮窗效果
2016/09/04 Javascript
Angular动画实现的2种方式以及添加购物车动画实例代码
2018/08/09 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
JS removeAttribute()方法实现删除元素的某个属性
2021/01/11 Javascript
用实例说明python的*args和**kwargs用法
2013/11/01 Python
Python和GO语言实现的消息摘要算法示例
2015/03/10 Python
安装python3的时候就是输入python3死活没有反应的解决方法
2018/01/24 Python
Pycharm无法使用已经安装Selenium的解决方法
2018/10/13 Python
python爬虫之遍历单个域名
2019/11/20 Python
python轮询机制控制led实例
2020/05/03 Python
基于Django快速集成Echarts代码示例
2020/12/01 Python
详解python 条件语句和while循环的实例代码
2020/12/28 Python
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
NIHAOMARKET官方海外旗舰店:意大利你好华人超市
2018/01/27 全球购物
意大利婴儿产品网上商店:Mukako
2018/10/14 全球购物
党员教师群众路线对照检查材料思想汇报
2014/09/29 职场文书
利用Python实现Picgo图床工具
2021/11/23 Python
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL