微信小程序 教程之数据绑定


Posted in Javascript onOctober 18, 2016

系列文章:

数据绑定

WXML中的动态数据均来自对应Page的data。

简单绑定

数据绑定使用"Mustache"语法(双大括号)将变量包起来,可以作用于:

内容

<view> {{ message }} </view>

Page({
 data: {
 message: 'Hello MINA!'
 }
})

组件属性(需要在双引号之内)

<view id="item-{{id}}"> </view>

Page({
 data: {
 id: 0
 }
})

控制属性(需要在双引号之内)

<view wx:if="{{condition}}"> </view>

Page({
 data: {
 condition: true
 }
})

运算

可以在{{}}内进行简单的运算,支持的有如下几种方式:

三元运算

<view hidden="{{flag ? true : false}}"> Hidden </view>

算数运算

<view> {{a + b}} + {{c}} + d </view>

Page({
 data: {
 a: 1,
 b: 2,
 c: 3
 }
})

view中的内容为3 + 3 + d

逻辑判断

<view wx:if="{{length > 5}}"> </view>

字符串运算

<view>{{"hello" + name}}</view>

Page({
 data:{
 name:"MINA"
 }
})

组合

也可以在Mustache内直接进行组合,构成新的对象或者数组

数组

<view wx:for-items="{{[zero, 1, 2, 3, 4]}}"> {{item}} </view>

Page({
 data: {
 zero: 0
 }
})

最终组合成数组[0, 1, 2, 3, 4]

对象

<template is="objectCombine" data="{{for: a, bar: b}}"></template>
Page({
 data: {
 a: 1,
 b: 2
 }
})

最终组合成的对象是{for: 1, bar: 2}

也可以用扩展运算符...来将一个对象展开

<template is="objectCombine" data="{{...obj1, ...obj2, e: 5}}"></template>
Page({
 data: {
 obj1: {
  a: 1,
  b: 2
 },
 obj2: {
  c: 3,
  d: 4
 }
 }
})

最终组合成的对象是{a: 1, b: 2, c: 3, d: 4, e: 5}

如果对象的key和value相同,也可以间接地表达

<template is="objectCombine" data="{{foo, bar}}"></template>

Page({
 data: {
 foo: 'my-foo',
 bar: 'my-bar'
 }
})

最终组合成的对象是{foo: 'my-foo', bar:'my-bar'}

注意:上述方式可以随意组合,但是如有存在变量名相同的情况,后边的会覆盖前面,如

<template is="objectCombine" data="{{...obj1, ...obj2, a, c: 6}}"></template>

Page({
 data: {
 obj1: {
  a: 1,
  b: 2
 },
 obj2: {
  b: 3,
  c: 4
 },
 a: 5
 }
})

最终组合成的对象是{a: 5, b: 3, c: 6}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
Apr 20 Javascript
javascript parseInt() 函数的进制转换注意细节
Jan 08 Javascript
js中的push和join方法使用介绍
Oct 08 Javascript
使用typeof方法判断undefined类型
Sep 09 Javascript
js/jquery判断浏览器类型的方法小结
May 12 Javascript
JavaScript:Array类型全面解析
May 19 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
May 27 Javascript
原生Javascript和jQuery做轮播图简单例子
Oct 11 Javascript
jQuery实现判断控件是否显示的方法
Jan 11 Javascript
js事件冒泡与事件捕获详解
Feb 20 Javascript
vue实现百度搜索功能
Dec 28 Javascript
JS实现按比例缩小图片宽高
Aug 24 Javascript
vue.js通过自定义指令实现数据拉取更新的实现方法
Oct 18 #Javascript
微信小程序 教程之WXML
Oct 18 #Javascript
原生JS实现匀速图片轮播动画
Oct 18 #Javascript
jquery对象和DOM对象的相互转换详解
Oct 18 #Javascript
原生js实现网易轮播图效果
Apr 10 #Javascript
浅谈bootstrap使用中的一些问题以及解决过程
Oct 18 #Javascript
JSON对象 详解及实例代码
Oct 18 #Javascript
You might like
phpinfo 系统查看参数函数代码
2009/06/05 PHP
php Hex RGB颜色值互换的使用
2013/05/10 PHP
php缓冲 output_buffering和ob_start使用介绍
2014/01/30 PHP
php页面缓存方法小结
2015/01/10 PHP
PHP读取目录树的实现方法分析
2019/03/22 PHP
基于JQuery的cookie插件
2010/04/07 Javascript
jQuery读取和设定KindEditor值的方法
2013/11/22 Javascript
js中switch case循环实例代码
2013/12/30 Javascript
js实现动画特效的文字链接鼠标悬停提示的方法
2015/03/02 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
2016/09/24 Javascript
Vue中的v-cloak使用解读
2017/03/27 Javascript
jQuery.Sumoselect插件实现下拉复选框效果
2017/11/09 jQuery
angular基于ng-alain定义自己的select组件示例
2018/02/23 Javascript
vue多页面开发和打包正确处理方法
2018/04/20 Javascript
JavaScript数据结构与算法之二叉树插入节点、生成二叉树示例
2019/02/21 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
2019/04/16 Javascript
浅谈javascript事件环微任务和宏任务队列原理
2020/09/12 Javascript
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
2020/11/11 Javascript
编写Python脚本来获取mp3文件tag信息的教程
2015/05/04 Python
PyTorch搭建一维线性回归模型(二)
2019/05/22 Python
python内存管理机制原理详解
2019/08/12 Python
python 一篇文章搞懂装饰器所有用法(建议收藏)
2019/08/23 Python
tensorflow 只恢复部分模型参数的实例
2020/01/06 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
StubHub西班牙:购买和出售全球活动门票
2017/06/05 全球购物
Weblogc domain问题
2014/01/27 面试题
中学生团员自我评价分享
2013/12/07 职场文书
教师网络培训感言
2014/03/09 职场文书
中式结婚主持词
2014/03/14 职场文书
高中学生评语大全
2014/04/25 职场文书
青安岗事迹材料
2014/05/14 职场文书
化学专业自荐信
2014/05/28 职场文书
2014年艾滋病防治工作总结
2014/12/10 职场文书
幼儿园托班开学寄语(2015秋季)
2015/05/27 职场文书
vue实现简单数据双向绑定
2021/04/28 Vue.js
Golang标准库syscall详解(什么是系统调用)
2021/05/25 Golang