1.Input 输入控件

<input type='digit' placeholder='0.00'></input>

如果要使用单纯的数字控件,使那么可以将type设置为digit类型。

其它type的有效值如下:

2.Picker 选择器

项目中有要选择时间,日期的需求,就用到了这个选择控件。

<picker mode="date" start="2013-09-01" end="2027-09-01" value='{{timeValue}}' bindchange='DatePickerValueChanged'>{{timeValue}}</picker>

从底部弹起的滚动选择器,现支持五种选择器,通过mode来区分,分别是普通选择器(selector),多列选择器(multiSelector),时间选择器(time),日期选择器(date),省市区选择器(region),默认是普通选择器(selector)。

3.Flex 布局

微信小程序中,布局用的比多的是Flex 布局,弹性布局。具体的这篇文章写的很好。

http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html

内容对齐(justify-content):主轴上的对齐方式

align-items属性定义项目在交叉轴上如何对齐。

align-content属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。

4.数据绑定

微信小程序不能像js一样,通过getelementByid这类的方法去获取元素,改变元素的值,小程序的数据绑定则是在wxml页面里通过两个中括号将数据绑定到元素上。

例如

<text>{{curentDate}}</text>

  

在这个页面的对应的js文件里

  /**
* 页面的初始数据
*/
data: {
//当前日期
curentDate:'2017-12' },

创建一个相应相同名字的变量来存储数据。

当想改变值的时候,通过setData方法来改变值。

this.setData({

curentDate: '2017-4-5',
}); 

通过这个方法,会刷新wxml页面上绑定这个变量的值。

5.设置全局变量

在utils文件下,有一个app.js文件,

globalData: {
userInfo: null,
//每月预算
monthlyBudget: '1500.00',
}

在globalData里声明全局变量。

在其它页面里面,获取和设置全局变量

var budget=getApp().globalData.monthlyBudget;  //get
getApp().globalData.monthlyBudget=1000;        //set

6.Block 与 View

view标签是一个视觉容器,按照我自己的理解,可以理解为html当中的div

而block是块的意思,但是他最后不显示在wxml里面,只是作为写代码时的分块作用,常常和小程序的wx:for 循环一起使用。

 <block wx:for="{{resultValue}}">
<text>{{item.Id}}</text>
<text>{{item.Name}}</text>
<text>{{item.Category}}</text>
</block >

如果用了block,那么在最后页面渲染的时候,是没有block这个标签的。我个人还是喜欢用view。

7.wx:for 循环

因为小程序的数据都是通过数据绑定到页面上,,而wx:for 主要用于绑定一个数组类型的数据,很实用的一个功能

item代表当前项。

index 代表当前循环赋值项的索引。

8. 数据请求

小程序当中的数据请求地址是要https,以及不能有端口号,请求地址要在开发者设置里将每一个地址添加,否则会报错。

9.获取系统当前时间

var date=new Date();
var day = date.getDate();
var month=date.getMonth()+1;
var year=date.getFullYear();
this.setData({
timeValue: year.toString()+'-'+month.toString()+'-'+day.toString(),
});

这个和js一样,创建一个date对象.......

10.scroll-view 滚动视图

在网页当中,经常是写一个div,设置高度,然后overflow-x:auto或者overflow-y:auto 来实现固定高度的滚动。

在小程序当中,已经有一些相应的控件了。scroll view了。

 <scroll-view scroll-y="true">
</scroll-view>

具体的官方文档:https://mp.weixin.qq.com/debug/wxadoc/dev/component/scroll-view.html

11.实现左右滑动,上下滑动

在相应的视图上面绑定 bindtouchstart   触摸开始,bindtouchmove  触摸移动,bindtouchend  触摸结束

触摸开始:可以在这个事件里面  获取当前开始触摸滚动的起始位置。

触摸滚动: 可以在这个事件里面,获取当前位置的信息  该事件,你这一直触摸滚动的话一直触发

触摸结束 : 故名思意,就是你手指放开的时候,触发。。、

 <view bindtouchstart='TouchStart' bindtouchmove='TouchMove' bindtouchend='TouchEnd'>
</view>
TouchStart:function(e){
startPot=e.touches[].pageX;
}, TouchMove:function(e)
{
var touchMove=e.touches[].pageX;
if (touchMove - startPot >= )
{
this.setData({
isClick: false,
//当选择 支出或者输入时,清空一下选择
selectedWay: '',
num: null,
});
}
else if (touchMove - startPot <= - ) {
this.setData({
isClick: true,
//当选择 支出或者输入时,清空一下选择
selectedWay: '',
num: null,
});
} }, TouchEnd:function(e){ }

微信小程序 笔记的更多相关文章

  1. 微信小程序笔记(二)

    微信小程序环境搭建与开发工具介绍 2-1 开篇介绍及下载工具 1.开发工具下载地址:   http://t.cn/RVKH0HS 2.下载安装对应版本:win32,win64,mac; 2-2 小程序 ...

  2. 微信小程序笔记<七>视图层 —— wxml

    微信小程序的视图层由 *.wxml 组成,wxml与html一样属于标签语言,但wxml与html的标签截然不一样. xwml特性 一.数据绑定 <!--wxml--> <view& ...

  3. 微信小程序笔记<六>模块化 —— module.exports

    微信小程序中所有 js 文件作用域皆为独立的,每一个 js 文件即为一个模块.模块与模块之间的引用通过 module.exports 或 exports 对外暴露接口. 注意: exports 是 m ...

  4. 微信小程序笔记整理--入门篇。

    7-2 微信小程序入门篇 准备篇 1.登录网址,https://mp.weixin.qq.com 注册一个微信小程序. 2.获取微信小程序appid,登录自己的小程序后台,在开发者设置中获得appid ...

  5. 微信小程序笔记<三>入口app.js —— 注册小程序

    小程序开发框架在逻辑层使用的语言就是JavaScript,所以想玩小程序JavaScript的基本功一定要扎实.但小程序基于js做了一些修改,以方便开发者更方便的使用微信的一些功能,使得小程序更好的贴 ...

  6. 微信小程序笔记

    1.文件的作用 js,wxml,wxss,json 所有页面中要用到的变量,都放在可了pages目录下 wxml:类似于html文件 wxss:类似于css文件(类, id, 标签,子代,后代,bef ...

  7. 微信小程序笔记<五> 页面管理及生命周期(route)——getCurrentPages()

    在小程序中所有页面的路由全部由框架进行管理,而框架以栈的形式维护了当前的所有页面. 当发生路由切换时,页面栈的表现: getCurrentPages() 用于获取当前页面栈的实例,可以把 getCur ...

  8. 微信小程序笔记<四>page.js —— 页面注册

    小程序的每个页面都是独立的,每个页面都必须有 page.js 和 page.wxhl 文件,page.json 和 page.wxss 文件非必要文件,注意如果创建 page.json 则至少保证有一 ...

  9. 微信小程序笔记<二>认识app.json

    *.json文件在小程序开发中必不可少,从 app.json 开始认识小程序中的配置文件*.json: app.json 为小程序必须文件,它不仅作为配置文件管理着小程序的UI还充当着路由器的功能: ...

随机推荐

  1. JAVA- continue与break与return关键字

    continue与break关键字 for(int i=0;i<10;i++){ if(i%2==0){ continue; //跳过当前循环执行下一次循环 } System.out.print ...

  2. Java中的访问控制

    修饰符 同一个类 同一个包 子类 整体 private Yes       default Yes Yes     protected Yes Yes Yes   public Yes Yes Yes ...

  3. Mac使用记录

    ---恢复内容开始--- brew list //查看brew安装东东 ls //当前目录下内容 brew --cache //查看brew下载目录 /usr/local/Cellar/ //隐藏文件 ...

  4. 解决按 backspace键 出现 ^H 问题

    输入命令 stty erase ^H #stty 时一个用来改变并打印终端行设置的常用命令stty iuclc           #  在命令行下禁止输出大写stty -iuclc          ...

  5. AtCoder Beginner Contest 102

    A - Multiple of 2 and N Time Limit: 2 sec / Memory Limit: 1024 MB Score : 100100 points Problem Stat ...

  6. P3515 [POI2011]Lightning Conductor[决策单调性优化]

    给定一序列,求对于每一个$a_i$的最小非负整数$p_i$,使得$\forall j \neq i $有$ p_i>=a_j-a_i+ \sqrt{|i-j|}$. 绝对值很烦 ,先分左右情况单 ...

  7. 洛谷P1941飞扬的小鸟——细节DP

    题目:https://www.luogu.org/problemnew/show/P1941 此题主要注意许多细节,详见代码. 代码如下: #include<iostream> #incl ...

  8. XmlSerialize error: There was an error generating the XML document.

    今天遇到一个很火的问题, 一个c#的class 序列化成xml后抛出异常, 信息为: XmlSerialize error: There was an error generating the XML ...

  9. MODBUS ASCII和RTU两种模式的区别、优缺点

    转自:http://blog.sina.com.cn/s/blog_89f286ad0102uzju.html 下表是MODBUS ASCII协议和RTU协议的比较: 协议 开始标记 结束标记 校验 ...

  10. Pokemon Master

    Pokemon Master Time Limit : 4000/2000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other) Total ...