原生微信小程序入门知识梳理1 - 生命周期 - 模板语法 - 事件

前言:记录学习原生微信小程序语法
个人博客 已更新该文章— 原生微信小程序入门知识梳理1


开始

注册小程序账号 填写相关信息之后

  1. 设置 - 基本设置 -账号信息中 找到专属的AppID(小程序ID)
  2. 开发工具 - 开发者工具中 下载微信开发者工具
  3. 创建项目 - appID 中填写属于自己的appID
    在这里插入图片描述

微信小程序项目结构

在这里插入图片描述

文件必需作用
app.js小程序的逻辑文件
app.json小程序的公共配置文件
app.wxss小程序的公共样式文件

pages文件

文件必需作用
xxx.js页面逻辑文件
xxx.wxml页面html结构文件
xxx.json页面配置文件
xxx.wxss页面样式文件

配置(全局 && 页面)

  • 根目录下的 app.json 文件用来对微信小程序进行全局配置
    例 “pages”: [ “pages/index/index” ] 页面路径列表
  • pages目录下的 xxx.json 文件用来对微信小程序页面进行页面配置
    例 navigationBarTitleText 导航栏标题文字内容

生命周期(小程序生命周期 && 页面生命周期)

小程序生命周期
// app.js 
App({
  onLaunch (options) {
    // 小程序初始化 只有销毁进入 或者 第一次进入小程序 触发
  },
  onShow (options) {
    // 小程序在前台,显示触发
  },
  onHide () {
    // 小程序在后台,隐藏触发
  },
  onError (msg) {
    console.log(msg) //小程序报错
  },
   存储小程序全局数据
  globalData: 'I am global data'
})
// xxx.js   页面获取 全局存储数据
const app= getApp()
console.log(app.globalData) // 小程序全局数据

// index.js
Page({
    data: {
        msg: 1111,
        list: [
            { id: 1, name: '第一个', flag: true },
            { id: 2, name: '第二个', flag: true },
            { id: 3, name: '第三个', flag: false },
        ],
        arr: [
            { title: '我的arr' },
            { title: '我的arr2' },
        ]
    },
    onLoad: function (options) {
        // 页面创建时执行
    },
    onShow: function () {
        // 页面出现在前台时执行
        // 使用页面全局存储实例  getApp() 
        const appInstance = getApp()
        console.log(appInstance.globalData) // I am global data
    },
    onReady: function () {
        // 页面首次渲染完毕时执行
        console.log(this.data.msg);
        setTimeout(() => {
        	//设置页面数据
            this.setData({
                msg: '数字变GG'
            })
        }, 2000)
    },
    onHide: function () {
        // 页面从前台变为后台时执行
    },
    onUnload: function () {
        // 页面销毁时执行
    },
	事件函数
    tapName(e) {
        console.log(e);
    }
})

模板语法

<!-- index.wxml -->
<view class="container">
  首页 {{msg}}
  //循环
  <view wx:for="{{list}}" wx:key="index">
    <view wx:if="{{item.flag}}">{{item.name}}</view>
    <view wx:for="{{arr}}" wx:for-item="res" wx:for-index="i" wx:key="i">{{res.title}}</view>
  </view>

	//事件函数
  <button  bindtap="tapName" data-neme='111'>点我</button>
</view>

事件

绑定一个事件处理函数。
如bindtap,当用户点击该组件的时候会在该页面对应的 Page 中找到相应的事件处理函数。
传参方式 data-xxx='' 事件处理bindxxx
事件分类冒泡事件和非冒泡事件

  • 冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。
  • 非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。
//xxx.wxml
<button  bindtap="tapName" data-neme='111'>点我</button>
//xxx.js
Page({
  tapName: function(event) {
    console.log(event)
  }
})

在这里插入图片描述

总结

原生小程序语法还是比较简单的,有一定框架基础,很快就能理解,进度持续更新中

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值