微信小程序之数据绑定原理解析


Posted in Javascript onAugust 14, 2019

最近在帮朋友写个小程序,本人小白一枚,但是好在计算机科班出身,有些概念一看还是明白的,只是之前没实际写过程序。于是最近看了好多资料和视频,不得不说,对于小白来讲,还是有点难度,但是不大。

通过最近看资料和别人的视频,总结一下:

1.页面布局,先画好。都是盒子,需要几个盒子,你就先画几个盒子。比如下面这个页面:

微信小程序之数据绑定原理解析

红色盒子

浅蓝盒子

绿色盒子(这个绿色盒子里又可以切分成两个盒子:白色字体较大一个盒子,白色字体较小一个盒子)

蓝色盒子

2.数据先静态,后动态

简单的说就是刚开始,你可以直接先往页面里塞静态数据,然后调试样式,样式搞定了,就可以把静态数据换成动态数据了。换动态数据呢,又可以分为两步,大神都是一步到位的,对于我这种小白来说,还是一步一个脚印来搞,比较放心。

比如下面这个页面:

静态数据

<view>
<!-- 顶部用户信息 -->
<view class="user-info">
 <view class="avatar"><image mode="widthFix" src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1565610447105&di=25b2b91e4ebe7831e13edb975cb0b669&imgtype=0&src=http%3A%2F%2Fimg.tukexw.com%2Fimg%2F2c99a00e77f69be1.jpg"></image></view>
 <view class="user-name">UncleBen</view>
</view>
 <!-- 订单、地址管理等常用设置 -->
 <view class="my-order">我的订单</view>
 <view class="my-address">地址管理</view>
 <view class="my-fav">我的收藏</view>
 <view class="my-invite">我的邀请</view>
 <view class="my-suggestion">意见反馈</view>
 <view class="my-service">联系客服</view> 
</view>
</view>

调试好之后,可以把数据放到js文件的data里,实现模拟动态数据:

wxml文件代码如下:

<view>
<!-- 顶部用户信息 -->
<view class="user-info">
 <view class="avatar"><image mode="widthFix" src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1565610447105&di=25b2b91e4ebe7831e13edb975cb0b669&imgtype=0&src=http%3A%2F%2Fimg.tukexw.com%2Fimg%2F2c99a00e77f69be1.jpg"></image></view>
 <view class="user-name">UncleBen</view>
</view>
 <!-- 订单、地址管理等常用设置 -->
<view class="my-settings">
 <view class="my-setting" wx:for="{{mySettings}}" wx:key="key">
  <view class="my-setting-icon"><image src="{{item.settingimg}}"></image></view>
  <view class="my-setting-name">{{item.settingname}}</view>
 </view>
</view>
</view>

js文件代码:

/**
  * 页面的初始数据
  */
 data: {
  mySettings:[{
   settingimg:'https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/2b701b3c2885c632f7d1a1b2dd5c694f4056975118f2bb44d68ff41d4023dc9538780a56d685b2343cacca669408e9bd?pictype=scale&from=30013&version=3.3.3.3&uin=522083376&fname=my-order.png&size=750',
   settingname:'我的订单'
  },
   {
    settingimg: 'https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/f5889b126abc482fe16d161e57b3ae63f5411f1af90bcec6c2e542b1ec93ce66eea7eaf3e71d015bee94fec4b3a44367?pictype=scale&from=30013&version=3.3.3.3&uin=522083376&fname=address.png&size=750',
    settingname: '地址管理'
  },
   {
    settingimg: 'https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/2b2fe155ca9d89c8161ebff210496b73c5190506a54395eaeff1791b9227f5e62e69be2a963296596785107726b62435?pictype=scale&from=30013&version=3.3.3.3&uin=522083376&fname=fav.png&size=750',
    settingname: '我的收藏'
  },
   {
    settingimg: 'https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/3951d94372e059873eb39c3bc9229cc961c8d1fcd8a1e7e60528751b701e5d646f10ec610ee04ede4e698dd2070a34de?pictype=scale&from=30013&version=3.3.3.3&uin=522083376&fname=invite.png&size=750',
    settingname: '我的邀请'
  },
   {
    settingimg: 'https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/1317fcb0bbd2322236467b56dcac81c6437aaf44f7770d676164eb96b8b79e92ef9c296e2292cc64de65e841d2cd9e0f?pictype=scale&from=30013&version=3.3.3.3&uin=522083376&fname=advice.png&size=750',
    settingname: '意见反馈'
  },
   {
    settingimg: 'https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/89eb4773cccc56faffb3f9537c62347eefeac067deb86446812199c2bd6185c922c3534adeafd1f3610b076b6ac88b11?pictype=scale&from=30013&version=3.3.3.3&uin=522083376&fname=service.png&size=750',
    settingname: '联系客服'
  }]

 },

听同事说如果是在实际项目环境中,数据都是直接请求数据库或者API的,等看到这一知识点的时候再说吧!暂时到这里。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery 学习笔记一
Apr 07 Javascript
jquery配合css简单实现返回顶部效果
Sep 30 Javascript
DOM基础教程之事件类型
Jan 20 Javascript
html的DOM中document对象forms集合用法实例
Jan 21 Javascript
为什么JavaScript没有块级作用域
May 22 Javascript
javascript数组常用方法汇总
Sep 10 Javascript
vue.js实现仿原生ios时间选择组件实例代码
Dec 21 Javascript
jquery Ajax实现Select动态添加数据
Jun 08 jQuery
Vue实现typeahead组件功能(非常靠谱)
Aug 26 Javascript
原生JS实现的雪花飘落动画效果
May 03 Javascript
JS在Array数组中按指定位置删除或添加元素对象方法示例
Nov 19 Javascript
easyUI使用分页过滤器对数据进行分页操作实例分析
Jun 01 Javascript
微信公众号平台接口开发 菜单管理的实现
Aug 14 #Javascript
vue.js中ref和$refs的使用及示例讲解
Aug 14 #Javascript
微信公众号平台接口开发 获取微信服务器IP地址方法解析
Aug 14 #Javascript
vue filter 完美时间日期格式的代码
Aug 14 #Javascript
如何对react hooks进行单元测试的方法
Aug 14 #Javascript
vue 中 命名视图的用法实例详解
Aug 14 #Javascript
详解vue 命名视图
Aug 14 #Javascript
You might like
社区(php&amp;&amp;mysql)五
2006/10/09 PHP
在PWS上安装PHP4.0正式版
2006/10/09 PHP
PHP $_SERVER详解
2009/01/16 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
2012/08/14 PHP
php数组删除元素示例
2014/03/21 PHP
PHP操作路由器实现方法示例
2019/04/27 PHP
js href的用法
2010/05/13 Javascript
jQuery插件-jRating评分插件源码分析及使用方法
2012/12/28 Javascript
简介JavaScript中getUTCMonth()方法的使用
2015/06/10 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
2016/11/20 Javascript
React-intl 实现多语言的示例代码
2017/11/03 Javascript
基于JS实现html中placeholder属性提示文字效果示例
2018/04/19 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
vue中v-model对select的绑定操作
2020/08/31 Javascript
[40:55]Liquid vs LGD 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[01:35]2018完美盛典章节片——共竞
2018/12/17 DOTA
通过代码实例展示Python中列表生成式的用法
2015/03/31 Python
python实现备份目录的方法
2015/08/03 Python
Python使用plotly绘制数据图表的方法
2017/07/18 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
2018/01/24 Python
python操作redis方法总结
2018/06/06 Python
解决Python运行文件出现out of memory框的问题
2018/12/03 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
2019/06/25 Python
解决Django响应JsonResponse返回json格式数据报错问题
2020/08/09 Python
AmazeUI 评论列表的实现示例
2020/08/13 HTML / CSS
服务中心夜班服务员岗位职责
2013/11/27 职场文书
运动会通讯稿100字
2014/01/31 职场文书
个人充满哲理的自我评价
2014/02/20 职场文书
乡镇纠风工作实施方案
2014/03/22 职场文书
2014年大学生就业规划书
2014/04/04 职场文书
三八节标语
2014/06/27 职场文书
小学教师读书活动总结
2014/07/08 职场文书
爱国主义影片观后感
2015/06/18 职场文书
2015年秋季校长开学典礼致辞
2015/07/29 职场文书
清洁工工作总结
2015/08/11 职场文书