0.基础认识
本质上就是仅支持微信环境的网页,其使用的wxml即html,wxss即css和js即js。但也由于微信api的加持使得开发更为简单(注册登录和支付等api)。
注意:小程序的逻辑层和渲染层是分开的,逻辑层运行在 JSCore 中,并没有一个完整浏览器对象,因而缺少相关的DOM API和BOM API。这一区别导致了前端开发非常熟悉的一些库,例如 jQuery、 Zepto 等,在小程序中是无法运行的。
1. 基础结构
|- app.json 用于记录整个app的信息,如页面js存在的目录,导航栏的常用设置
|- app.js 初始化一个页面实例,如App({});
|- pages 具体存放页面的文件夹
|- home
|- home.wxml
|- home.js 初始化一个页面实例,如Page({})
具体demo代码
//app.js
App({});
//app.json
{
"pages": [
"pages/home/home"
],
"window": {
"navigationBarBackgroundColor": "#000000",
"navigationBarTextStyle": "white",
"navigationBarTitleText": "welcome to here"
}
}
//home.js
Page({});
//home.wxml
<view>
<text>hello world</text>
</view>
样式
微信小程序的样式基本同css。
值得注意的是,微信小程序提供了一套好看的weui-wxss
点击链接进入官网把源码复制到app.wxss即可使用
js
1.局部数据绑定
可以通过{{}}实现数据绑定,在wxml中运行js显示(也就是说里面可以写js表达式),数据在page.js以如下形式注册
Page({
data: {
name: '张三'
}
});
2.全局数据共享
app.js以如下形式在全局注册
App({
globalData: {
now: 'any time'
}
});
page.js以如下形式导入
const app = getApp();
Page({
data: {
now: app.globalData.now
}
});
3.事件
tap:触摸后马上离开。
longpress:触摸后,超过 350ms 再离开。如果指定了该事件的回调函数并触发了该事件,tap事件将不被触发。
touchstart:触摸开始。
touchmove:触摸后移动。
touchcancel:触摸动作被打断,如来电提醒,弹窗等。
touchend:触摸结束。