美文网首页
微信小程序

微信小程序

作者: 南崽 | 来源:发表于2020-05-09 00:03 被阅读0次

    结构

    主体 app

    • app.json
      小程序配置

    • app.js
      小程序业务逻辑
      (属性和方法可以被其他页面访问)

      • pages
        页面配置
        (在最前面的是默认页面)
      • window
        窗口页面配置
      "navigationBarBackgroundColor": "#61bfad",
      "navigationBarTitleText": "WeChat",
      "navigationBarTextStyle": "white"
      导航栏颜色, 导航栏标题,导航栏文字颜色(white/black)
      
      • app.wxss
        公用样式

    页面 pages

    • index
      首页

      • index.json
        首页配置
        (app.json里面的window一致)
      • index.js
        首页的业务逻辑
      • index.html
        首页的模板与布局
      • index.wxss
        首页的css
    • log
      日志

    标签组件

    • view 块

    • text 文本

    wxss

    • 语法和web的css基本兼容

    • rpx 750rpx 等于一个屏幕的宽

    模板语法

    文本

    • {{}}

    条件渲染

    <view wx:if="{{表达式}}">内容</view>
    <view wx:elif="{{表达式}}">内容</view>
    <view wx:else>请登录</view>
    

    列表渲染

    <view wx:for="{{list}}" wx:key="{{index}}">{{index}}-{{item}}</view>
    <text  wx:for="{{list}}" wx:for-item="myitem" wx:for-index="myindex"> {{myindex}}.{{myitem}}</text>
    

    模板

    • template

    • 定义

    <template name="temp>
    <view>标题:{{name}}</view>
    </template>
    
    • 调用
    <template is="temp" {{name:"abc"}}></template>
    
    • 导入模板
    <import src="xxx.wxml" />
    
    • 非template

      • 任意的wxml文件
      • 导入
    <include src="xxx.html" />
    相当于把xxx.wxml文件内容(除了template)拷贝到include
    

    事件

    • 类型

      • bindtap 单击
      • bindinput 表单发生改变
    • 事件参数

    <view bindtap="showMsg" data-msg="HI msg"></view>
    showMsg(e){
      e.target.dataset.msg 
      //获取事件参数
    }
    

    表单

    <input value="{{msg}}" bindinput="inputHd"></input>
    - inputHd(e){
    //表单值
    e.detail.value
    }
    

    更新数据与视图

    • this.setData({数据名:数据值})

    导航

    标签

    <navigator></navigator>
    
    • open-type
      打开页面类型
    navigate  // 默认打开
    redirect   // 不留历史记录
    switchTab   // 切换底部栏
    navigateBack // 返回
    
    • 打开小程序

    • 1.app.json配置

    "navigateToMiniProgramAppIdList": ["小程序appid"],
      "style": "v2",
    
    • 2.navigator
    <navigator 
    target="miniProgram" 
    open-type="navigate"
    app-id="小程序的appid" 
    path="要打开的页面(默认首页)">
    面试宝典
    </navigator>
    

    js方式

    • 跳转页面
    wx.navigateTo({
    url:" ",
    })
    
    • 跳转不留历史记录
    wx.redirectTo({
    url:" ",
    })
    
    • 底部栏页面切换
    wx.switchTab({
    url:"",
    })
    
    • 返回
    wx.navigateBack( );
    
    • 切换小程序
    wx.navigateToMiniProgram({
    appid:"appid"
    })
    

    生命周期

    onLoad

    • 页面的参数
    • ajax请求通知在这个函数调用

    onShow

    • 页面显示

    onReady

    • 页面首次渲染

    onHide

    switchTab, // 切换底部栏 
    navigate // 跳转页面
    

    onUnload

    • 卸载
      redirect时,当前页面就会卸载

    onPullDownRefresh

    • 下拉刷新

    onReachBottom

    • 触底

    onShareAppMessage

    • 用户点击分享

    小程序特点

    dom限制

    • 小程序没有window对象,更没有document,没办法用jq类似的库操作dom
    • 小程序不能直接打开网页
    • 背景图片最好用网络图片

    数量限制

    • 1). 底部栏(最少2最多5)
    • 2). 页面的历史记录最多可打开5层
    • 3). request 同时最多5个请求

    大小限制

    • 小程序包 最多1M-2M 通过分包16M
    • setData 1M
    • setStorage 最多10M
    • tabbar 底部栏图片,必须是本地的,最大40k,最好81px

    相关文章

      网友评论

          本文标题:微信小程序

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