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

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

作者: 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