zoukankan      html  css  js  c++  java
  • 微信小程序开发入门 —— Hello World

    3.1 微信开发者工具

    前往 开发者工具下载页面 (https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html),根据自己的操作系统下载对应的安装包进行安装,有关开发者工具更详细的介绍可以查看 《开发者工具介绍》(https://developers.weixin.qq.com/miniprogram/dev/devtools/devtools.html) 。

    打开小程序开发者工具,用微信扫码登录开发者工具,准备开发你的第一个小程序吧!

    enter image description here

    3.2 第一行代码

    新建项目选择小程序项目,选择代码存放的硬盘路径,填入刚刚申请到的小程序的 AppID,给你的项目起一个好听的名字,最后,点击 “创建项目” (注意: 你要选择一个空的目录才会有这个选项),点击确定,你就得到了你的第一个小程序了,点击顶部菜单编译就可以在微信开发者工具中预览你的第一个小程序。

    enter image description here

    这是开发者工具自动生成HelloWorld演示程序,接下来我们来看一下它的主要代码并预览一下这个小程序的效果。

    index.wxml

     1 <view class="container">
     2   <view class="userinfo">
     3     <button wx:if="{{!hasUserInfo && canIUse}}" open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>
     4     <block wx:else>
     5       <image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image>
     6       <text class="userinfo-nickname">{{userInfo.nickName}}</text>
     7     </block>
     8   </view>
     9   <view class="usermotto">
    10     <text class="user-motto">{{motto}}</text>
    11   </view>
    12 </view>

    有没有很熟悉?貌似html?

    可以这样理解,在wxml中的view可以理解为html中的div,代码中的“wx:if”用来做逻辑判断,如果wx:if内的值成立就渲染并显示,否则不进行渲染显示。

    你可以像写网页一样写小程序,只不过换成了wxml的标签规范,多写写也就熟悉了。

    index.js

     1 //获取应用实例
     2 const app = getApp()
     3 
     4 Page({
     5   data: {
     6     motto: 'Hello World',
     7     userInfo: {},
     8     hasUserInfo: false,
     9     canIUse: wx.canIUse('button.open-type.getUserInfo')
    10   },
    11   //事件处理函数
    12   bindViewTap: function() {
    13     wx.navigateTo({
    14       url: '../logs/logs'
    15     })
    16   },
    17   onLoad: function () {
    18     if (app.globalData.userInfo) {
    19       this.setData({
    20         userInfo: app.globalData.userInfo,
    21         hasUserInfo: true
    22       })
    23     } else if (this.data.canIUse){
    24       // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
    25       // 所以此处加入 callback 以防止这种情况
    26       app.userInfoReadyCallback = res => {
    27         this.setData({
    28           userInfo: res.userInfo,
    29           hasUserInfo: true
    30         })
    31       }
    32     } else {
    33       // 在没有 open-type=getUserInfo 版本的兼容处理
    34       wx.getUserInfo({
    35         success: res => {
    36           app.globalData.userInfo = res.userInfo
    37           this.setData({
    38             userInfo: res.userInfo,
    39             hasUserInfo: true
    40           })
    41         }
    42       })
    43     }
    44   },
    45   getUserInfo: function(e) {
    46     console.log(e)
    47     app.globalData.userInfo = e.detail.userInfo
    48     this.setData({
    49       userInfo: e.detail.userInfo,
    50       hasUserInfo: true
    51     })
    52   }
    53 })

    js还是那个js,原来怎样写现在还怎样写。你可以多了解一下微信小程序的几个关键的生命周期函数。

    下图说明了页面 Page 实例的生命周期。

    enter image description here

    预览效果

    enter image description here

    点击工具上的编译按钮,可以在工具的左侧模拟器界面看到这个小程序的表现,也可以点击预览按钮,通过微信的扫一扫在手机上体验你的第一个小程序。

    通过这个章节,你已经成功创建了你的第一个小程序,并且在微信客户端上体验到它流畅的表现。

  • 相关阅读:
    FAQs: 当在Outlook Explorer中右击邮件时,如何向上下文菜单添加按钮?(VSTO技术)
    C#设置系统日期和时间
    控制带有滚动条的控件(ListView,TreeView等)的滚动条显示
    HTML Clipboard Format [MSDN资料]
    Control.ProcessDialogKey 方法 ——用以处理对话框按键(TAB ESC 箭头键 等)
    span 标记的可编辑与不可编辑
    教训:System.TypeInitializationException 类型初始值设定项引发异常
    firefox 插件制作
    base64编码
    找工作了,应聘简历
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/14172762.html
Copyright © 2011-2022 走看看