当前位置:网站首页>简易版 微信小程序开发之页面跳转、数据绑定、获取用户信息、获取用户位置信息
简易版 微信小程序开发之页面跳转、数据绑定、获取用户信息、获取用户位置信息
2022-07-03 03:23:00 【水w】
目录
一、全局配置app.json
{
"pages":[
"pages/home/home",
"pages/message/message",
"pages/contact/contact",
"pages/list/list"
],
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#2b4b6b",
"navigationBarTitleText": "本地生活",
"navigationBarTextStyle":"white",
"backgroundColor": "#efefef",
"onReachBottomDistance": 50
},
"tabBar": {
"selectedColor": "#C00000",
"list": [
{
"pagePath": "pages/home/home",
"text": "首页",
"iconPath": "/images/tabs/home.png",
"selectedIconPath": "/images/tabs/home-active.png"
},
{
"pagePath": "pages/message/message",
"text": "消息",
"iconPath": "/images/tabs/message.png",
"selectedIconPath": "/images/tabs/message-active.png"
},
{
"pagePath": "pages/contact/contact",
"text": "联系我们",
"iconPath": "/images/tabs/contact.png",
"selectedIconPath": "/images/tabs/contact-active.png"
}
]
},
"style": "v2",
"sitemapLocation": "sitemap.json"
}
二、数据绑定
2.1 编写home页面
(1)home.wxml
<!--pages/home/home.wxml-->
<view class="menu">
<view class="item">
<image src="/static/link-01.png"></image>
<text>精品</text>
</view>
<view class="item">
<image src="/static/link-01.png"></image>
<text>精品</text>
</view>
<view class="item">
<image src="/static/link-01.png"></image>
<text>精品</text>
</view>
<view class="item">
<image src="/static/link-01.png"></image>
<text>精品</text>
</view>
</view>
<navigator url="/pages/list/list?id=566">跳转页面</navigator>
(2)home.wxss
/* pages/home/home.wxss */
image {
width: 100rpx;
height: 100rpx;
border-radius: 50rpx;
}
.menu {
display: flex;
/* 在水平方向排列 ,规定主轴方向*/
flex-direction: row;
/* 元素在水平方方向如何展示,规定在主轴方向如何展示:center */
justify-content: space-around;
}
.menu .item {
display: flex;
flex-direction: column;
align-items: center;
}
2.2 编写list页面
(1)list.wxml
<!--pages/list/list.wxml-->
<!--轮播图结构-->
<swiper class="swiper-container" indicator-dots indicator-color="white" indicator-active-color="black" autoplay interval="3000" circular>
<swiper-item><view class="item">A</view></swiper-item>
<swiper-item><view class="item">B</view></swiper-item>
<swiper-item><view class="item">C</view></swiper-item>
</swiper>
<!--滚动视图结构-->
<scroll-view class="container1" scroll-y>
<view>A</view>
<view>B</view>
<view>C</view>
</scroll-view>
<!-- 数据绑定 -->
<view>数据:{
{ message }}</view>
<button bindtap="checkData">点击修改数据</button>
(2)list.js
// pages/list/list.js
Page({
/**
* 页面的初始数据
*/
data: {
message: "Sd"
},
checkData() {
// 修改数据
this.setData({message: "ssdss"})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
console.log(this.options)
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})
(3)list.json没变
2.3 展示效果:
(1)home页面的展示效果为:
(2)点击home页面中的“跳转页面” ,就可以跳转到list页面,list页面的展示效果为:
(3)点击list页面中的“点击修改数据”按钮 ,就可以将页面上的“数据:Sd”修改为“数据:ssdss”,
OK,数据绑定这个功能就简单介绍到这里。
三、获取用户信息
注意:要想获取用户信息,必须经过用户授权(button)
- 已授权
- 未授权,通过调用wx.opensetting({})
3.1 方式一
编写list页面
(1)list.wxml
<!--pages/list/list.wxml-->
<view>当前用户名:{
{ name }}</view>
<ciew>头像:<image src="{
{ path }}" style="height: 200rpx;width: 200rpx;"></image></ciew>
<button bindtap="getUserInfo">获取用户名</button>
(2)list.js
// pages/list/list.js
getUserInfo() {
// 打开配置,进行收到授权
wx.openSetting({})
var that = this
// 获取用户名
wx.getUserInfo({
success: function(res) {
console.log(res)
that.setData({
name: res.userInfo.nickName,
path: res.userInfo.avatarUrl})
},
fail:function(res) {
}
})
},
展示效果:
(1)点击home页面中的“跳转页面” ,就可以跳转到list页面,list页面的展示效果为:
(2)点击“获取用户名”按钮,则展示如下,
3.2 方式二
编写list页面
(1)list.wxml
<!--pages/list/list.wxml-->
<view>当前用户名:{
{ name }}</view>
<ciew>头像:<image src="{
{ path }}" style="height: 200rpx;width: 200rpx;"></image></ciew>
<button open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">获取信息</button>
(2)list.js
注意:代码里的“var that = this”是因为直接在 wx.getUserInfo函数中调用this是获取不到setData的,因此必须在此 wx.getUserInfo函数的外部导入this,才可以。
// pages/list/list.js
bindGetUserInfo() {
// 打开配置,进行收到授权
wx.openSetting({})
var that = this
// 获取用户名
wx.getUserInfo({
success: function(res) {
console.log(res)
that.setData({
name: res.userInfo.nickName,
path: res.userInfo.avatarUrl})
},
fail:function(res) {
}
})
},
展示效果:
(1)点击home页面中的“跳转页面” ,就可以跳转到list页面,list页面的展示效果为:
(2)点击“获取用户名”按钮,则展示如下,
(3)可以看出来,与方式一的展示效果一样。
四、获取用户位置信息
编写list页面
(1)pages/list/list.wxml
<!--pages/list/list.wxml-->
<view bindtap="getLocalPath">{
{ localPath }}</view>
(2)pages/list/list.js
// pages/list/list.js
getLocalPath() {
var that = this
// 获取用户位置信息
wx.chooseLocation({
success: function(res) {
console.log(res)
that.setData({localPath:res.address})
}
})
},
展示效果:
(1)点击home页面中的“跳转页面” ,就可以跳转到list页面,list页面的展示效果为:
(2)点击“请选择位置”,则展示如下,
边栏推荐
- idea 加载不了应用市场解决办法(亲测)
- PAT乙级“1104 天长地久”DFS优化思路
- Converts a timestamp to a time in the specified format
- com.fasterxml.jackson.databind.exc.InvalidFormatException问题
- Learning notes of C programming [compiled by Mr. Tan Haoqiang] (Chapter III sequence programming) 04 C sentence
- 403 error displayed when vs cloning
- Spark on yarn resource optimization ideas notes
- C programming learning notes [edited by Mr. Tan Haoqiang] (Chapter III sequence programming) 05 data input and output
- [algebraic structure] group (definition of group | basic properties of group | proof method of group | commutative group)
- Vs 2019 installation and configuration opencv
猜你喜欢
Mongodb replication set [master-slave replication]
Vs 2019 configuration du moteur de génération de tensorrt
MySQL practice 45 [global lock and table lock]
[Chongqing Guangdong education] cultural and natural heritage reference materials of China University of Geosciences (Wuhan)
Summary of determinant knowledge points in Chapter 1 of Linear Algebra (Jeff's self perception)
用Three.js做一个简单的3D场景
MongoDB复制集【主从复制】
PHP generates PDF tcpdf
900w+ data, from 17s to 300ms, how to operate
45 lectures on MySQL [index]
随机推荐
Ansible简介【暂未完成(半成品)】
navicat 导出数据库的表结构
Mysql Mac版下载安装教程
Avec trois. JS fait une scène 3D simple
Vs Code configure virtual environment
Edit and preview in the back pipe to get the value writing method of the form
Learning notes of C programming [compiled by Mr. Tan Haoqiang] (Chapter III sequence programming) 04 C sentence
[set theory] partial order relation (partial order relation definition | partial order set definition | greater than or equal to relation | less than or equal to relation | integer division relation |
MySQL practice 45 lecture [row lock]
ffmpeg下载安装教程及介绍
redis高级应用【密码防护、数据持久化、主从同步、哨兵模式、事务】【暂未完成(半成品)】
Unity3d RPG implementation (medium)
基于QT的tensorRT加速的yolov5
The difference between static web pages and dynamic web pages & the difference between Web1.0 and Web2.0 & the difference between get and post
[algebraic structure] group (definition of group | basic properties of group | proof method of group | commutative group)
Positioning (relative positioning, absolute positioning, fixed positioning, Z-index) 2022-2-11
900w+ data, from 17s to 300ms, how to operate
2020-01-01t00:00:00.000000z date format conversion
Yolov5 project based on QT
The idea cannot be loaded, and the market solution can be applied (pro test)