微信小程序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远程获取网页源代码实例
Sep 05 Javascript
javaScript基础语法介绍
Feb 28 Javascript
JavaScript实现多个重叠层点击切换效果的方法
Apr 24 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
Jun 06 Javascript
原生js实现手风琴功能(支持横纵向调用)
Jan 13 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
Sep 27 Javascript
JavaScript 下载svg图片为png格式
Jun 21 Javascript
解决Vue 项目打包后favicon无法正常显示的问题
Sep 01 Javascript
Element UI框架中巧用树选择器的实现
Dec 12 Javascript
vue-router源码之history类的浅析
May 21 Javascript
详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()
May 12 Javascript
vue中用 async/await 来处理异步操作
Jul 18 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
Destoon模板制作简明教程
2014/06/20 PHP
php实现以只读方式打开文件的方法
2015/03/16 PHP
阿里云PHP SMS短信服务验证码发送方法
2017/07/11 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
2019/12/02 PHP
用ADODB.Stream转换
2007/01/22 Javascript
Javascript模块模式分析
2008/05/16 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
js选择并转移导航菜单示例代码
2014/08/19 Javascript
jQuery $命名冲突解决方案汇总
2014/11/13 Javascript
PHP守护进程实例
2015/03/06 Javascript
jquery实现的动态回到顶部特效代码
2015/10/28 Javascript
JavaScript中的跨浏览器事件操作的基本方法整理
2016/05/20 Javascript
jQuery 常见小例汇总
2016/12/14 Javascript
node.js中实现kindEditor图片上传功能的方法教程
2017/04/26 Javascript
nodejs 图解express+supervisor+ejs的用法(推荐)
2017/09/08 NodeJs
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
2017/10/24 Javascript
Vue 中mixin 的用法详解
2018/04/23 Javascript
Vue.js上传图片到阿里云OSS存储的方法示例
2018/12/13 Javascript
js实现简单的无缝轮播效果
2020/09/05 Javascript
Python 文件操作技巧(File operation) 实例代码分析
2008/08/11 Python
Python中绑定与未绑定的类方法用法分析
2016/04/29 Python
Django开发中复选框用法示例
2018/03/20 Python
Python实现自定义函数的5种常见形式分析
2018/06/16 Python
Python切片操作深入详解
2018/07/27 Python
对pandas通过索引提取dataframe的行方法详解
2019/02/01 Python
Python类中self参数用法详解
2020/02/13 Python
Pytorch .pth权重文件的使用解析
2020/02/14 Python
python 使用openpyxl读取excel数据
2021/02/18 Python
aec加密 php_php aes加密解密类(兼容php5、php7)
2021/03/14 PHP
CSS3 分类菜单效果
2019/05/27 HTML / CSS
技校教师求职简历的自我评价
2013/10/20 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
世界读书日的活动方案
2014/08/20 职场文书
入伍通知书
2015/04/23 职场文书
创建文明城市倡议书
2015/04/28 职场文书
学习十八大的感悟
2015/08/11 职场文书