微信小程序让前端飞

微信小程序

2018-01-28  本文已影响29人  Viaphlyn

微信小程序官方文档

一、准备工作

有四种不同类型的文件

二、配置

1.小程序配置 app.json

对当前小程序的全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等

很必要的是"pages"的配置(路径一定要对),描述当前小程序所有页面路径,这是为了让微信客户端知道当前你的小程序页面定义在哪个目录。

{
  "pages":[
    "pages/index/index",
    "pages/logs/logs"
  ],
  "window":{
    "backgroundTextStyle":"light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "WeChat",
    "navigationBarTextStyle":"black"
  }
}
//window字段 —— 小程序所有页面的顶部背景颜色,文字颜色定义在这里的。

三、WXML模板、WXSS样式、JS交互

每一个文件下的index是本文件的根文件,可以对整个文件操作,而每个页面下的则只对本页面作用

1.WXML
//WXML
<text></text>
//JS
this.setData({ msg: "Hello World" })
//通过 {{ }} 的语法把一个变量绑定到界面上,我们称为数据绑定。
2.WXSS
3.JS

四、逻辑层

1.App()

注册一个小程序。接受一个 object 参数,其指定小程序的生命周期函数等。

全局的 getApp() 函数可以用来获取到小程序实例。

// other.js
var appInstance = getApp()
console.log(appInstance.globalData) // I am global data

2.注册页面Page

Page()函数用来注册一个页面,接受一个 object 参数,其指定页面的初始数据、生命周期函数、事件处理函数等。
是在小程序里面用到很重要的一个函数。(基本都要用)

渲染层可以通过 WXML 对数据进行绑定。

<view>{{text}}</view>
<view>{{array[0].msg}}</view>

Page({
  data: {
    text: 'init data',
    array: [{msg: '1'}, {msg: '2'}]
  }
})

onLoad: 页面加载
onShow: 页面显示
onReady: 页面初次渲染完成
onHide: 页面隐藏
onUnload: 页面卸载

<view bindtap="viewTap"> click me </view>

Page({
  viewTap: function() {
    console.log('view tap')
  }
})

Page.prototype.route:
route 字段可以获取到当前页面的路径。

Page.prototype.setData():
setData 函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data 的值(同步)。
setData也是很重要的一个函数
注意:
1.直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致。
2.不要把 data 中任何一项的 value 设为 undefined

3.页面路由

4.模块化

5.API

6.场景值

五、视图层

1.WXML

wx:if 和 hidden区别:
wx:if 的条件值切换时,框架有一个局部渲染的过程,会确保条件块在切换时销毁或重新渲染。 wx:if 也是惰性的,若在初始渲染条件为 false,框架什么也不做,在条件第一次变成真的时候才开始局部渲染。
hidden,组件始终会被渲染,只是简单的控制显示与隐藏。
一般来说,wx:if 有更高的切换消耗而 hidden 有更高的初始渲染消耗。因此,如果需要频繁切换的情景下,用 hidden 更好,如果在运行时条件不大可能改变则 wx:if 较好。

冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。
非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。
key 以bind(冒泡)或catch(阻止冒泡)开头。
捕获阶段,事件到达节点的顺序与冒泡阶段相反。

2.WXS

// 方法一:单行注释

/*
方法二:多行注释
*/

/*
方法三:结尾注释。即从 /* 开始往后的所有 WXS 代码均被注释

3.WXSS

上一篇 下一篇

猜你喜欢

热点阅读