• 微信小程序基本知识


    1.网页后台管理功能

        开发需要基本的权限以及APPID

        需要微信支付,客服、插件等功能需要在后台对应开通

        上传包限制2M ---》所以图片多的尽量不要直接放本地

        域名:

          更改次数限制,域名必须是https的

          第三方插件用的时候,必须放入第三方插件对应的合法域名

        小程序基本的名称等配置也在后台

    2.wxml对应html标签

        view===>div  文字:text     闭合标签:image input 等必须闭合标签类似于react

        <block/> 并不是一个组件,它仅仅是一个包装元素,不会在页面中做任何渲染,只接受控制属性。

        wxss : rpx像素单位---------布局基本弹性盒布局

    3.目录结构

        project.config.json:项目配置文件。

        app.wxss: 全局样式配置,通用。

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

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

    4.使用 Page 构造器注册页面

    //index.js
    Page({
      data: {
        text: "This is page data."
      },
      onLoad: function(options) {
        // 页面创建时执行
      },
      onShow: function() {
        // 页面出现在前台时执行
      },
      onReady: function() {
        // 页面首次渲染完毕时执行
      },
      onHide: function() {
        // 页面从前台变为后台时执行
      },
      onUnload: function() {
        // 页面销毁时执行
      },
      onPullDownRefresh: function() {
        // 触发下拉刷新时执行
      },
      onReachBottom: function() {
        // 页面触底时执行
      },
      onShareAppMessage: function () {
        // 页面被用户分享时执行
      },
      onPageScroll: function() {
        // 页面滚动时执行
      },
      onResize: function() {
        // 页面尺寸变化时执行
      },
      onTabItemTap(item) {
        // tab 点击时执行
        console.log(item.index)
        console.log(item.pagePath)
        console.log(item.text)
      },
      // 事件响应函数
      viewTap: function() {
        this.setData({
          text: 'Set some data for updating view.'
        }, function() {
          // this is setData callback
        })
      },
      // 自由数据
      customData: {
        hi: 'MINA'
      }
    })
    

    5.跳转页面:

        wx.navigateTowx.redirectTo 只能打开非 tabBar 页面。

        wx.switchTab 只能打开 tabBar 页面。

        wx.reLaunch 可以打开任意页面。

        页面底部的 tabBar 由页面决定,即只要是定义为 tabBar 的页面,底部都有 tabBar。

        调用页面路由带的参数可以在目标页面的onLoad中获取。

         wx.navigateBack:关闭当前页面,返回上一页面或多级页面。

    6.循环和显示隐藏

        wx:for="{{arr}}"----> 必须同步wx:key="{{index}}" ---->默认item和index ----多级循环重新定义item和index  wx:for-item="item1"----wx:for-index="idx"

        当 wx:for 的值为字符串时,会将字符串解析成字符串数组---------》花括号和引号之间如果有空格,将最终被解析成为字符串

        wx:if=""和wx:else  显示隐藏

        hidden="true" 就简单的多,组件始终会被渲染,只是简单的控制显示与隐藏。

    7.事件

        除 bind 外,也可以用 catch 来绑定事件。与 bind 不同, catch 会阻止事件向上冒泡。

        wx不支持alert()

        修改值:this.setData({})

    8.template以及import和include

        import 的作用域

          import 有作用域的概念,即只会 import 目标文件中定义的 template,而不会 import 目标文件 import 的 template。

          如:C import B,B import A,在C中可以使用B定义的template,在B中可以使用A定义的template,但是C不能使用A定义的template

    <!-- A.wxml -->
    <template name="A">
      <text> A template </text>
    </template>
    <!-- B.wxml --> <import src="a.wxml"/> <template name="B"> <text> B template </text> </template>
    <!-- C.wxml --> <import src="b.wxml"/> <template is="A"/> <!-- Error! Can not use tempalte when not import A. --> <template is="B"/>

        include

        include 可以将目标文件除了 <template/> <wxs/> 外的整个代码引入,相当于是拷贝到 include 位置,如: 

    <!-- index.wxml -->
    <include src="header.wxml"/>
    <view> body </view>
    <include src="footer.wxml"/>
    <!-- header.wxml --> <view> header </view>
    <!-- footer.wxml --> <view> footer </view>

    9.页面调转传值

       在跳转页面onload周期中默认参数option中接收传递参数

    wx.reLaunch({
      url: 'test?id=1'
    })
    // test
    Page({
      onLoad (option) {
        console.log(option.query)
      }
    })
    

    10.app.js中的生命周期

        onLaunch 生命周期函数--监听小程序初始化 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)

        onShow 生命周期函数--监听小程序显示 当小程序启动,或从后台进入前台显示,会触发 onShow

        onHide 生命周期函数--监听小程序隐藏 当小程序从前台进入后台,会触发 onHide

        onError 错误监听函数 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息   

  • 相关阅读:
    Spring Boot实现发送邮件
    IDEA thymeleaf ${xxx.xxx}表达式报错,红色波浪线
    解决springboot——集成 mybatis遇到的问题:No MyBatis mapper was found in '[com.example.demo]' package...
    解决Intellij IDEA中Mybatis Mapper自动注入警告
    System.gc()和Runtime.gc()的区别
    Java中定时器相关实现的介绍与对比之:Timer和TimerTask
    markdown语法介绍
    Java VisualVM使用
    Linux系统负载查询
    Kafka高性能吞吐关键技术分析
  • 原文地址:https://www.cnblogs.com/yxkNotes/p/13524740.html
Copyright © 2020-2023  润新知