微信小程序开发教程(基础篇)5-index 页面解析

来源:互联网 发布:全国所有中小学数据库 编辑:程序博客网 时间:2024/06/14 02:56

上一篇教程谈了些和微信小程序开发本身无关的技术问题,现在回到主题。

这边教程主要对默认生成的index 页面进行讲解。在之前的教程中有写道,每一个页面都包含.js(处理逻辑),.wxml(描述页面内容),.wxss(配置页面样式)三个文件,index 页面也是如此。

讲解之前先上图

这里写图片描述
index页面的内容不多,只有一个用户头像,用户姓名,和一个”Hello World”,首先来看看index.wxml的内容

<!--index.wxml--><view class="container">  <view  bindtap="bindViewTap" class="userinfo">    <image class="userinfo-avatar" src="{{userInfo.avatarUrl}}" background-size="cover"></image>    <text class="userinfo-nickname">{{userInfo.nickName}}</text>  </view>  <view class="usermotto">    <text class="user-motto">{{motto}}</text>  </view></view>

该页面的层级结构比较简单,三个view标签,一个image以及两个text标签,其中view为容器标签,image用来显示用户头像,第一个text用来显示用户昵称,第二个text则是”Hello World”

可以看到页面描述文件中绑定了几个变量,分别是第二个view标签的 bindtap=”bindViewTap”,image标签的src=”{{userInfo.avatarUrl}} 以及两个text标签的内容文本。那么这些变量定义在哪里呢,答案就在index.js中

//index.js//获取应用实例var app = getApp()Page({  data: {    motto: 'Hello World',    userInfo: {}  },  //事件处理函数  bindViewTap: function() {    wx.navigateTo({      url: '../logs/logs'    })  },  onLoad: function () {    console.log('onLoad')    var that = this    //调用应用实例的方法获取全局数据    app.getUserInfo(function(userInfo){      //更新数据      that.setData({        userInfo:userInfo      })    })  }})

index.js代码定义了Page对象,该对象中定义了index.wxml绑定的变量,其中onLoad方法会在页面加载时被调用,该方法会调用app对象的getUserInfo方法来获取用户信息并赋值给userInfo属性,这样界面就可以显示用户头像和昵称了。而”Hello World”的显示则是由motto属性直接指定。

Page对象还定义了bindViewTap方法,该方法通过调用wx.navigateTo导航到logs页面。关于页面导航的更多内容将在后面的教程中讲解。在该例子中,当用户点击用户头像和昵称的视图区域时,程序便会显示logs页面。

最后简单看下index.wxss

/**index.wxss**/.userinfo {  display: flex;  flex-direction: column;  align-items: center;}.userinfo-avatar {  width: 128rpx;  height: 128rpx;  margin: 20rpx;  border-radius: 50%;}.userinfo-nickname {  color: #aaa;}.usermotto {  margin-top: 200px;}

该文件定义了index.wxml中使用到的样式选择器,这部分比简单,在这里就不多做解释了。

0 0
原创粉丝点击