微信小程序如何像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 ajax(复习)—Baidu ajax request分离版
Jan 24 Javascript
javascript学习笔记(四)function函数部分
Sep 30 Javascript
JavaScript中的对象序列化介绍
Dec 30 Javascript
JS实现在页面随时自定义背景颜色的方法
Feb 27 Javascript
一款简单的jQuery图片标注效果附源码下载
Mar 22 Javascript
JS中dom0级事件和dom2级事件的区别介绍
May 05 Javascript
jQuery文件上传控件 Uploadify 详解
Jun 20 Javascript
Vue.extend构造器的详解
Jul 17 Javascript
node thread.sleep实现示例
Jun 20 Javascript
webpack多入口多出口的实现方法
Aug 17 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
Jul 30 Javascript
vue - vue.config.js中devServer配置方式
Oct 30 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
php 正则表达式小结
2009/08/31 PHP
php获取本地图片文件并生成xml文件输出具体思路
2013/04/27 PHP
thinkphp3.2中实现phpexcel导出带生成图片示例
2017/02/14 PHP
在Z-Blog中运行代码[html][/html](纯JS版)
2007/03/25 Javascript
用javascript控制iframe滚动的代码
2007/04/10 Javascript
JQuery UI DatePicker中z-index默认为1的解决办法
2010/09/28 Javascript
基于javascript、ajax、memcache和PHP实现的简易在线聊天室
2015/02/03 Javascript
Node.js中child_process实现多进程
2015/02/03 Javascript
深入学习JavaScript对象
2015/10/13 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
基于JS实现Android,iOS一个手势动画效果
2016/04/27 Javascript
jQuery中通过ajax调用webservice传递数组参数的问题实例详解
2016/05/20 Javascript
JS数组操作(数组增加、删除、翻转、转字符串、取索引、截取(切片)slice、剪接splice、数组合并)
2016/05/20 Javascript
XMLHttpRequest Level 2 使用指南
2016/08/26 Javascript
RequireJS简易绘图程序开发
2016/10/28 Javascript
Vue.js实现简单ToDoList 前期准备(一)
2016/12/01 Javascript
JS实现物体带缓冲的间歇运动效果示例
2016/12/22 Javascript
nodejs进阶(6)—连接MySQL数据库示例
2017/01/07 NodeJs
React实现全局组件的Toast轻提示效果
2018/09/21 Javascript
原生JS实现自定义下拉单选选择框功能
2018/10/12 Javascript
Vue列表渲染的示例代码
2018/11/01 Javascript
vue结合element-ui使用示例
2019/01/24 Javascript
Vue表单之v-model绑定下拉列表功能
2019/05/14 Javascript
记一次用ts+vuecli4重构项目的实现
2020/05/21 Javascript
Python3解释器知识点总结
2019/02/19 Python
Python基于正则表达式实现计算器功能
2020/07/13 Python
HTML5的革新 结构之美
2011/06/20 HTML / CSS
澳大利亚在线性感内衣商店:Fantasy Lingerie
2021/02/07 全球购物
诚信的演讲稿范文
2014/05/12 职场文书
国庆节演讲稿
2014/05/27 职场文书
法人代表授权委托书范文
2014/09/10 职场文书
2014年护理工作总结范文
2014/11/14 职场文书
商务宴请邀请函范文
2015/02/02 职场文书
孝女彩金观后感
2015/06/10 职场文书
优秀毕业生主要事迹材料
2015/11/04 职场文书
Python采集股票数据并制作可视化柱状图
2022/04/04 Python