美文网首页小程序吐槽烤~程序员微信小程序开发者
《小程序,巧应用》阅读笔记以及统计

《小程序,巧应用》阅读笔记以及统计

作者: xiaojianxu | 来源:发表于2017-02-15 17:21 被阅读224次

订阅号、服务号、企业号、小程序,都是微信公众平台服务,都是一种连接用户与服务的方式。

统计数据,抓取到的数据中,上架与未上架的小程序总数为 1153 个。

抓取来源
下载抓取整理好的 Txt 数据地址
抓取工具:QueryList

小程序示例项目代码,目录结构:包含 3 个 app 开头的文件 (app.js、app.json、app.wxss) 以及 pages 目录和 utils 目录。其中 pages 目录存放 2 个页面(index 与 logs) 的构成文件。

每个页面都是一个目录,目录名就是唯一的页面名。

.js 文件是页面逻辑处理层

.wxss 是页面的样式表文件

.wxml 是页面的结构文件

.json 文件是页面的配置文件

.js 与 .wxml 文件是必需的。

app.js, app.json, app.wxss 必须放在根目录下。

app.js 是小程序的脚本代码,用来监听并处理小程序的生命周期函数、声明全局变量。

app.json 是对整个小程序的全局配置,配置小程序是由哪些页面组成,配置小程序的窗口背景颜色等。

app.wxss 是整个小程序的公共样式表。

app.js 和 app.json 是必需的。

当有页面配置文件时,文件中的配置项在该页面上覆盖 app.json 的 window 中相同的配置项。若没有制定页面的文件,则在该页面直接使用 app.json 中的默认配置项。

<!-- logs.wxml -->
<view class="container log-list">
    <block wx:for="{{logs}}" wx:for-item="log">
        <text class="log-item">{{index + 1}}. {{log}}</text>
    </block>
</view>

logs 页面使用 <block/> 控制标签来组织代码,在 <block/> 上使用控制属性 wx:for 绑定 logs数据,并将 logs 数据循环展开节点。

tip:<block /> 并不是一个组件,仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性(如:wx:for 或 wx:if)

使用 require() 来引入模块化 .js 脚本文件:

var util = require('../../utils/util.js');

每个小程序包含一个描述整体程序的 app 实例和多个描述页面的 page。其中 app 由三个文件构成,公共配置 app.json、公共样式 app.wxss、主体逻辑 app.js。
每个 page 最多由四个文件构成:页面配置 page.json、页面结构 page.wxml、页面样式 page.wxss、页面主体逻辑 page.js。

按需在 app.js 和 page.js 中添加程序在生命周期的每个阶段相应的事件。比如:页面 onload 时,进行数据加载,onShow 时进行数据的更新。

典型的 app.js 代码结构如下:

App({
    onLaunch: function() {
        // initialize ...
        // 启动时执行的初始化工作
    },
    onShow: function() {
        // 小程序启动或从后台进入前台时,触发执行的操作
    },
    onHide: function() {
        // 小程序从前台进入后台时,触发执行的操作
    },
    globalConf: function() {
        indexDate: '',
        matchDate: ''
    },
    dataCache: {},
    globalData: 'I am global data'
})

典型的一个页面 page.js 代码结构:

Page({
    Data: {Text: 'This is page data.'},
    onLoad: function(options) {
        // 页面加载时执行的初始化工作
    },
    onReady: function() {
        // 页面就续后触发执行的操作
    },
    onShow: function() {
        // 页面打开时,触发执行的操作
    },
    onHide: function() {
        // 页面隐藏时,触发执行的操作
    },
    onUnLoad: function() {
        // 页面关闭时触发执行的操作
    },
    //Event handler
    viewTap: function() {
        this.setData({
            text: "set ssome data for updating view."
        })
    },
})

小程序执行的生命周期:

app.onLaunch -> app.onShow -> page1.onLoad -> page1.onShow -> page1.onReady
(打开程序,第一个页面 page1 加载完成
)
-> page1.onHide -> page2.onLoad -> page2.onShow -> page2.onReady
(从第一个页面新打开 page2)
-> page2.onUnload -> page1.onShow -> ... -> app.onUnload
(关闭 page2,返回 page1 ... 退出小程序)

相关文章

网友评论

    本文标题:《小程序,巧应用》阅读笔记以及统计

    本文链接:https://www.haomeiwen.com/subject/skiqwttx.html