摘要: 整理一些微信小程序常用的技术知识点,入门之用。。
一、事件绑定
bindtap
<button class="weui-btn" type="default" bindtap="openConfirm">Confirm Dialog</button> <button class="weui-btn" type="default" bindtap="openAlert">Alert Dialog</button>
二、样式导入
@import 'style/weui.wxss';
三、列表渲染
wx:for
Page({ items: [{ message: 'foo', },{ message: 'bar' }] })
<view wx:for="{{items}}" wx:for-index="index" wx:for-item="item"> {{index}}: {{item.message}} </view>
block wx:for
<block wx:for="{{[1, 2, 3]}}"> <view> {{index}}: </view> <view> {{item}} </view> </block>
四、模块化
定义:
// common.js function sayHello() { console.log("hello"); } module.exports = { sayHello:sayHello }
引用:
//index.js const common = require("../../utils/common.js"); function say() { common.sayHello(); }
五、8大组件
视图容器
基础内容
表单组件
操作反馈
导航
媒体组件
地图
画布
六、三个文件
app.js
app.json
app.wxss
七、获取App实例
var app = getApp();
八、模板
定义:
<template name="tplName"> <view>模板内容:{{data}}</view> </template>
导入:
<import src="../common/common.wxml" />
引用:
<template is="tplName" data="{{data}}" />
九、数据绑定
WXML中的动态数据均来自Page的data对象
动态数据绑定可以使用this.setData({name:_name});动态赋值
定义:
Page({ data:{ title:"测试" } })
使用:
<view>{{title}}</view>
显示:
测试
十、条件渲染
定义:
Page({ data:{ has:true, age:18 } })
使用:
<view wx:if="{{has}}">已存在</view> <view wx:if="{{age < 18}}">少年</view> <view wx:elif="{{age = 18}}">青年</view> <view wx:else>成年</view> <block wx:if="{{has}}"> <view>内容1</view> <view>内容2</view> <view>内容3</view> <view>内容4</view> </block>
显示:
已存在 青年 内容1 内容2 内容3 内容4
十一、运算
定义:
Page({ data:{ show:true, a:1, b:2, c:3, name:"hello" } })
使用:
<view hidden="{{show ? true : false}}">显示</view> <view>{{a+b}} + {{b+c}} + a</view> <view>{{"say " + name}}</view>
显示:
// test.wxml 显示 3+5+a say hello
十二、跳转
定义:
<!-- sample.wxml --> <view> <navigator url="navigate?title=navigate">跳转到新页面</navigator> <navigator url="redirect?title=redirect" redirect>在当前页打开</navigator> </view>
获取:
// redirect.js navigator.js Page({ onLoad: function(options) { this.setData({ title: options.title }) } })
显示:
<!-- navigator.wxml --> <view style="text-align:center"> {{title}} </view> <view> 点击左上角返回回到之前页面 </view>
<!-- redirect.wxml --> <view style="text-align:center"> {{title}} </view> <view> 点击左上角返回回到上级页面 </view>
通过事件跳转:
// test.js go: function() { wx.navigateTo({ url: '../detail' }) },
页面事件绑定:
//detail.wxml <view bindtap="go"> <text>下一页</text> </view>
十三、表单
定义:
//form.wxml <form bindsubmit="formSubmit" bindreset="formReset"> <view> <view>input</view> <input name="input" placeholder="please input here" /> </view> <view> <button formType="submit">Submit</button> <button formType="reset">Reset</button> </view> </form>
获取:
//test.js Page({ formSubmit: function(e) { console.log('form发生了submit事件,携带数据为:', e.detail.value) console.log('form发生了submit事件,携带数据input为:', e.detail.value.input) }, formReset: function() { console.log('form发生了reset事件') } })
作者:xiaowindxiao