数据绑定

index.wxml

<!--index.wxml-->
<view class="container"><!-- {{ }}  小胡子语法  专门用于输出逻辑层暴露的数据--><text>{{message}}</text><!-- input 默认是没有边框样式的 --><!-- mustache 可以作用在元素的  内容 和 属性 上 --><input value="{{message}}"></input><input value="{{message}}dsihgfrug"></input><text>{{1+1}}</text><text>{{message+1}}</text><!-- 一般情况下,属性值最好用双引号引起来,属性值最好不要省略 --><checkbox checked="true"></checkbox><checkbox checked="checked"></checkbox><checkbox checked></checkbox><!-- 在小程序的wxml中属性的值 如果只是在双引号内部  它永远是字符串 --><!-- 解决方法是借助于小胡子语法 --><!-- mustache 可以用于申明有类型的值 --><checkbox checked=""></checkbox><checkbox checked="dsfijri"></checkbox><checkbox checked="false"></checkbox><checkbox checked="{{false}}"></checkbox><text>{{foo.addPostfix(message)}}</text>
</view><!-- wxs标签 类似于 html中的 script标签 ,可以定义一些行内脚本--><wxs module="foo">//这里可以导出一个对象,这个对象可以直接在界面上使用 //这里的代码必须遵循 common js 规范 module.exports={addPostfix:function(input){return input+' wxs'}}
</wxs>

index.js

//index.js
//获取应用实例
const app = getApp()Page({//这个对象里面的所有属性都可以在界面中访问到// 在 data 中只能暴露数据成员data:{message:'hello world',}
})


控制属性

cond.js文件

Page({data:{isLoading:true},onReady(){setTimeout( () => {this.setData({isLoading:false})},2000)}
})

cond.wxml文件

<!--pages/cond/cond.wxml-->
<view wx:if="{{isLoading}}"><text>Loading……</text>
</view>
<!-- <view wx:elif=""></view> -->
<view wx:else><text>load done</text>
</view>

cond.wxml文件  又一个版本

<!--pages/cond/cond.wxml-->
<view wx:if="{{isLoading}}"><text>Loading……</text>
</view>
<!-- <view wx:elif=""></view> -->
<view wx:else><text>load done</text>
</view><!-- 对于频繁需要被切换显示的元素  不应该使用 wx:if ,应该用hidden属性-->
<view hidden="{{!isLoading}}"><text>Loading……</text>
</view>
<view hidden="{{isLoading}}"><text>load done</text>
</view><view ><!-- block 只是一个包装元素,不会对界面的结构造成任何影响 --><block wx:if="{{isLoading}}"><text >hello</text><text >world</text></block><text>不要影响我</text>
</view><view><text wx:if="{{isLoading}}">hello</text><text wx:if="{{isLoading}}">world</text>
</view>


each.wxml

<!--pages/each/each.wxml-->
<view wx:for="{{students}}" wx:for-item="s" wx:for-index="i" wx:key="aaa">
<!-- {{index}} 拿到当前遍历的下标 --><!-- <text>{{index}}</text> --><text>{{i}}</text><text>name:{{s.name}}</text><text>age:{{s.age}}</text>
</view>

each.js

// pages/each/each.js
Page({/*** 页面的初始数据*/data: {students:[{id:1,name:'止兮',age:18},{id:2,name:'苍凌',age:19},{id:3,name:'瑾修',age:20},{id:4,name:'小草',age:17}]}
})


each.wxml

<!--pages/each/each.wxml-->
<view><view wx:for="{{students}}"><checkbox></checkbox><text>{{item.name}}</text></view>
</view>
<button bindtap="addItemHandle">add</button>

each.js

// pages/each/each.js
Page({/*** 页面的初始数据*/data: {students:[{id:1,name:'止兮',age:18},{id:2,name:'苍凌',age:19},{id:3,name:'瑾修',age:20},{id:4,name:'小草',age:17}]},// 页面对象上除了 生命周期的钩子函数之外,可以定义任何其他的函数,// 这些函数可以作为视图层(界面)元素的事件处理函数addItemHandle(){const students=this.data.studentsstudents.push({ id: Math.random(), name: '小草' + Math.random(), age: 17})this.setData({students})}
})


each.wxml

<!--pages/each/each.wxml-->
<view><!-- wx:key 属性值  写的是 遍历的数据单项属性名称 --><!--如果没有属性的话, 可以通过  *this  这个保留值 去指定当前被遍历的元素 --><!-- <view wx:for="{{students}} " wx:key="id">  有了一个空格,变成了字符串的拼接,界面就变得很乱 --><view wx:for="{{students}}" wx:key="id"><checkbox></checkbox><text>{{item.name}}</text></view>
</view>
<text wx:for="foo">--{{item}}--</text>
<button bindtap="addItemHandle">add</button>

each.js

// pages/each/each.js
Page({/*** 页面的初始数据*/data: {students:[{id:1,name:'止兮',age:18},{id:2,name:'苍凌',age:19},{id:3,name:'瑾修',age:20},{id:4,name:'小草',age:17}],nums:[1,2,3,4,5,6]},// 页面对象上除了 生命周期的钩子函数之外,可以定义任何其他的函数,// 这些函数可以作为视图层(界面)元素的事件处理函数addItemHandle(){// const students=this.data.students// students.push({ id: Math.random(), name: '小草' + Math.random(), age: 17})const students = [{ id: Math.random(), name: '小草' + Math.random(), age: 17 }].concat(this.data.students)this.setData({students})}
})

微信小程序开发2——数据绑定、控制属性相关推荐

  1. 微信小程序开发之六 —— 数据绑定与列表渲染

    文章目录 学习前后 数据分离 数据类型 组件属性数据绑定 渲染对象类型数据 列表渲染 wx:for wx:key 渲染一下电影列表 学习前后 上一篇:微信小程序开发之五 -- 体验WeUI 下一篇:微 ...

  2. 入门微信小程序开发(三)数据绑定的几种用法

    一.数据绑定 与书写HTML页面一样,小程序页面也只能通过多写多练提升.在构建完页面后就出现了一个问题,我们该如何获取组件元素让数据与之关联呢? 在网页开发中,我们同样使用JS操作DOM,包括数据渲染 ...

  3. 微信小程序开发的数据绑定和事件绑定

    一.数据绑定 1.定义数据 在页面对应的 .js(或 ts)文件中,把数据定义到 data 对象中即可: 2.Mustache 语法的格式(渲染数据) 把 data 中的数据绑定到页面中渲染,使用 M ...

  4. 微信小程序开发 Array对象的属性与方法

    Array属性: length 设置或返回数组中元素的个数 Array 方法: concat():连接两个或更多的数组,并返回结果 join():把数组的所有元素放入字符串,并用指定的分隔符进行分隔 ...

  5. NB-IOT专栏(QS-100模块二次开发)-onenet云平台+微信小程序实现下行数据控制设备开关

    前言 最近公司老总买了NB-IOT的模块,老总考虑到STM32芯片的价格涨的很快,而我们的内容做的不是很复杂,再加上支持一下本地企业,QS-100模块到价格超级实惠,决定使用QS-100模块作为通信模 ...

  6. 微信小程序开发笔记(四)数据绑定

    参考教材:<微信小程序开发入门与实践> 雷磊 前置知识:JavaScript,CSS 为了更好的学习后续知识,先来新建一个页面.(以下代码来自<微信小程序开发入门与实践>,下载 ...

  7. 微信小程序开发(2)_data属性

    假设我们的环境都做好了,现在我们开始开发自己的小程序 首先我们开发出自己的 Hello World 我们要做的事情是当前点击hello World的时候HelloWorld的颜色发生变化: 这个是我们 ...

  8. 微信小程序js数组初始化_微信小程序开发之改变data中数组或对象的某一属性值...

    前言:在小程序的开发中,我们在view中便利data中数组或对象时,很多情况下需要在js中动态改变数组或者对象中某一香的属性值. 效果图: 我给大家总结了案例如下: wxml如下: {{item.we ...

  9. 微信小程序开发教程第七章:微信小程序编辑名片页面开发

    前面我们更新了六篇的微信小程序开发教程,现在更新第七章:微信小程序编辑名片页面开发,(第一二章:微信小程序开发教程,第三四章:微信小程序项目结构以及配置&微信小程序首页面开发,第五章:微信小程 ...

最新文章

  1. IDEA 回滚SVN更新内容
  2. 户籍改革更进一步!我国将推动户籍准入年限同城化累计互认
  3. 【剑指Offer】俯视50题之31 - 40题
  4. UA MATH571B 试验设计VI 随机效应与混合效应1
  5. 本页由试用版打印控件lodop6.2.6输出_Visual Basic 6.0 Sirk 迷你版
  6. 在苹果笔记本如何使用python_mac下如何将python2.7改为python3
  7. linux中ifort不识别,pmemd编译安装问题之ifort不识别‘
  8. 软件著作权算法软件设计说明书_软件著作权说明书模板
  9. android网页生成pdf,Android生成pdf
  10. html5竞赛试题,全国大学生英语竞赛试题
  11. jsp:通过Session控制登陆时间和内部页面的访问
  12. 智能工厂设备无人值守系统方案
  13. 密码学之背包加密系统(Merkle–Hellman公钥加密算法)原理
  14. MATLAB 最小二乘法
  15. 设计Date类,该类采用3个整型存储日期: month、 data和year。其函数成员具有按如下格式输出日期的功能(异常处理)
  16. PAMI-2021:5篇顶级GNN论文
  17. mockito简要教程
  18. 什么是BFC、IFC、GFC、FFC
  19. 双屏Android NDS模拟器,Android DraStic(NDS模拟器)r2.5.2.1a 内购版+金手指
  20. maven项目构建管理工具一站式全部搞定

热门文章

  1. maven-eclipse 中index.html页面乱码
  2. poj3279 Fliptile
  3. 2735:八进制到十进制-poj
  4. UITextField的属性与程序启动后一系列方法
  5. Html dom window 对象 open()方法
  6. 一个关于nvarchar字段排序,中英文混合排序的问题
  7. 高通平台 /sys/module/lpm_levels/parameters/sleep_disabled节点
  8. git: git add --ignore-removal git add --all 区别
  9. 9soc sensor与bayer sensor 区别,内外置isp
  10. Linux/Android Kconfig Makefile defconfig 和 .config关系