微信小程序如何像vue一样在动态绑定类名


Posted in Javascript onApril 17, 2018

小程序 开发中遇到这样一个问题...

排行榜开发的时候,前三名的样式不同,其余的样式一样。但是都是通过同一元素来遍历的,当时卡了一下。后来发现有module模块化这一概念,于是查了下api,一下子就做出来了。

微信小程序如何像vue一样在动态绑定类名 

就是不同名次上边的样式根据实际情况展示效果。

模块化

我们可以将一些公共的代码抽离成为一个单独的 js 文件,作为一个模块。模块只有通过 module.exports 或者 exports 才能对外暴露接口。

通俗的将就是自身独立,作用域只作用于该模块,与js互不影响。

主要代码

module部分

<wxs module="rank">
 var indexof = function(index){
 switch(index){
 case 0:
 return 'first-price';
 break;
 case 1: 
 return 'second-price';
 break;
 case 2: 
 return 'third-price';
 break;
 }
 };
 module.exports.style = indexof;
 </wxs>

view

<view class="weui-badge {{rank.style(index)}}">{{index + 1}}</view>

补充:

vue与微信小程序的一些区别

一.条件渲染

vue:使用v-if指令,v-else表示v-if的else块,v-else-if表示v-if 的“else-if 块”

<div v-if="type === 'A'">
  A
 </div>
 <div v-else-if="type === 'B'">
  B
 </div>
 <div v-else-if="type === 'C'">
  C
 </div>
 <div v-else>
  Not A/B/C
 </div>

微信小程序:使用wx:if,wx:else表示wx:if的else块,wx:elif表示wx:if的"else-if"块

<view wx:if="{{length > 5}}"> 1 </view>
<view wx:elif="{{length > 2}}"> 2 </view>
<view wx:else> 3 </view>

二.显示隐藏元素

VUE:v-show="..."

微信小程序:hidden="{{...}}"

三.绑定class

vue:全用v-bind,或者简写为:bind,和本有的class分开写

<div class="test" v-bind:class="{ active: isActive }"></div>

微信小程序:

<view class="test {{isActive ? 'active':'' }}"></view>

四.事件处理

VUE:使用v-on:event绑定事件,或者使用@event绑定事件

<button v-on:click="counter += 1">Add 1</button>
<button v-on:click.stop="counter+=1">Add1</button> //阻止事件冒泡

微信小程序:全用bindtap(bind+event),或者catchtap(catch+event)绑定事件

<button bindtap="clickMe">点击我</button>
<button catchtap="clickMe">点击我</button> //阻止事件冒泡

五.绑定值

VUE:vue动态绑定一个变量的值为元素的某个属性的时候,会在变量前面加上冒号:,例:<img :src="imgSrc"/>

微信小程序:绑定某个变量的值为元素属性时,会用两个大括号括起来。例:<image src="{{imgSrc}}"></image>

六.绑定事件传参

VUE:vue绑定事件的函数传参数时,可以把参数写在函数后面的括号里

<div @click="changeTab(1)">哈哈</div>

微信小程序:微信小程序的事件我试过只能传函数名,至于函数值,可以绑定到元素中,在函数中获取

<view data-tab="1" catchtap="changeTab">哈哈</view>

js:

changeTab(e){
  var _tab = e.currentTarget.dataset.tab; 
}

七.设置值

VUE:设置test的值可以用,this.test = true;获取test的值可以用this.test.

微信小程序:设置test的值要用this.setData({test:true});获取test的值用this.data.test

总结

以上所述是小编给大家介绍的微信小程序如何像vue一样在动态绑定类名 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery 利用show和hidden实现级联菜单示例代码
Aug 09 Javascript
JavaScript中的普通函数与构造函数比较
Apr 07 Javascript
js实现文字在按钮上滚动的方法
Aug 20 Javascript
滚动条的监听与内容随着滚动条动态加载的实现
Feb 08 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
Feb 22 Javascript
微信小程序 动态绑定数据及动态事件处理
Mar 14 Javascript
Js自定义多选框效果的实例代码
Jul 05 Javascript
vue-router2.0 组件之间传参及获取动态参数的方法
Nov 10 Javascript
关于微信小程序map组件z-index的层级问题分析
Jul 09 Javascript
基于JavaScript或jQuery实现网站夜间/高亮模式
May 30 jQuery
VSCode launch.json配置详细教程
Jun 18 Javascript
javascript实现倒计时提示框
Mar 02 Javascript
Angular数据绑定机制原理
Apr 17 #Javascript
基于vue-ssr的静态网站生成器VuePress 初体验
Apr 17 #Javascript
jQuery实现使用sort方法对json数据排序的方法
Apr 17 #jQuery
jQuery+datatables插件实现ajax加载数据与增删改查功能示例
Apr 17 #jQuery
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
Apr 17 #jQuery
Angular 容器部署的方法
Apr 17 #Javascript
bootstrap中日历范围选择插件daterangepicker的使用详解
Apr 17 #Javascript
You might like
PHP5/ZendEngine2的改进
2006/10/09 PHP
php 输出双引号&quot;与单引号'的方法
2010/05/09 PHP
使用php记录用户通过搜索引擎进网站的关键词
2014/02/13 PHP
重新认识php array_merge函数
2014/08/31 PHP
项目中应用Redis+Php的场景
2016/05/22 PHP
thinkPHP5 ACL用户权限模块用法详解
2017/05/10 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
2018/01/15 PHP
javascript globalStorage类代码
2009/06/04 Javascript
jQuery使用append在html元素后同时添加多项内容的方法
2015/03/26 Javascript
深入理解JavaScript中的箭头函数
2015/07/28 Javascript
BootStrap使用file-input插件上传图片的方法
2016/09/05 Javascript
微信小程序 省市区选择器实例详解(附源码下载)
2017/01/05 Javascript
nodejs操作mongodb的增删改查功能实例
2017/11/09 NodeJs
通过一次报错详细谈谈Point事件
2018/05/17 Javascript
jQuery 同时获取多个标签的指定内容并储存为数组
2018/11/20 jQuery
Vuerouter的beforeEach与afterEach钩子函数的区别
2018/12/26 Javascript
Python使用django获取用户IP地址的方法
2015/05/11 Python
python中偏函数partial用法实例分析
2015/07/08 Python
python中的tcp示例详解
2018/12/09 Python
python实现BP神经网络回归预测模型
2019/08/09 Python
pycharm通过anaconda安装pyqt5的教程
2020/03/24 Python
python 利用panda 实现列联表(交叉表)
2021/02/06 Python
HTML5 Canvas概述
2009/08/26 HTML / CSS
真正的英国宝藏:Mappin & Webb
2019/05/05 全球购物
一套Java笔试题
2016/08/20 面试题
办公室文员工作自我评价
2013/12/01 职场文书
银行职员思想汇报
2013/12/31 职场文书
静心口服夜广告词
2014/03/20 职场文书
解除劳动合同证明书
2014/09/26 职场文书
租车协议书范本2014
2014/11/17 职场文书
2015年高校就业工作总结
2015/05/04 职场文书
房屋维修申请报告
2015/05/18 职场文书
2015秋季小学开学寄语
2015/05/27 职场文书
九九重阳节致辞
2015/07/31 职场文书
一级电子管军用接收机测评
2022/04/05 无线电