微信小程序-全局配置、组件、页面跳转、用户信息等
全局配置
三个页面
app.json pages字段
"pages":[
    "pages/index/index", # 首页
    "pages/home/home",  # 我的
    "pages/party/party" # 活动
  ]
window字段
这好看不好看 得css的人来配。
"window":{
    "backgroundTextStyle":"light",
    "navigationBarBackgroundColor": "#B22222", # 最上面的颜色
    "navigationBarTitleText": "怀庄酒业", # 上面的标题
    "navigationBarTextStyle":"black" # 文字颜色
  }
tabBar字段
就是下方的菜单
注意:这里引用的pathPath一定要在Pages字段里。
"tabBar": {
      "list": [
        {
          "pagePath": "pages/index/index",
          "text": "首页",
          "iconPath": "static/tabbar/ic_menu_choice_nor.png",
          "selectedIconPath": "static/tabbar/ic_menu_choice_pressed.png"
        },
        {
            "pagePath": "pages/party/party",
            "text": "活动",
            "iconPath": "static/tabbar/ic_menu_party_nor.png",
            "selectedIconPath": "static/tabbar/ic_menu_party_pressed.png"
        },
        {
            "pagePath": "pages/home/home",
            "text": "我的",
            "iconPath": "static/tabbar/ic_menu_me_nor.png",
            "selectedIconPath": "static/tabbar/ic_menu_me_pressed.png"
        }
    ]
  }
效果如下

组件
- text: 文本信息
- view: 容器,类似div
- image: 图片
跳转
对标签绑定点击事件
part.wxml
<text>活动页面</text>
<button  bindtap="clickMeToSignUp"> 我要报名 </button>
part.js
clickMeToSignUp:function(){
        console.log("点击跳转到报名页")
        wx.navigateTo({
            url: '/pages/signup/signup'
        })
}
数据绑定
都是双向绑定
part.wxml
<text bindtap="changeLogin"> {{ isLogin }}</text>
part.js
data: {
        isLogin: false
},
changeLogin: function(){
      this.setData({isLogin: !isLogin})
}
获取用户信息
index.wxml
<view  class="container">
  <view class="userinfo">
    <block wx:if="{{!hasUserInfo}}">
      <button wx:if="{{canIUseGetUserProfile}}"  bindtap="getUserProfile" > 授权登录 </button>
      <button wx:else open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>
    </block>
  </view>
</view>
index.js
data: {
      userInfo: {},
      hasUserInfo: false,
      canIUseGetUserProfile: false,
    },
onLoad(options) {
      if (wx.getUserProfile) {
        console.log("onload")
        this.setData({
          canIUseGetUserProfile: true
        })
      }
    },
getUserProfile() {
      console.log("getUserprofile")
      // 推荐使用 wx.getUserProfile 获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认
      // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
      wx.getUserProfile({
        desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
        success: (res) => {
          this.setData({
            userInfo: res.userInfo,
            hasUserInfo: true
          })
          console.log(res.userInfo)
          console.log(this.data.userInfo) //获取data里的数据  this.data.xxx
        }
      })
    },
效果如下


但是 界面显示很难看。
获取用户位置信息
<view bindtap="getLocalPath">{{localPath}}</view>
注意这里需要将this 赋值给that.
getLocalPath: function(){
      var that = this;
      wx.chooseLocation({
         success: function(res){
           that.setData({localPath: res.address}),
           console.log(that.data.localPath)
         }
      })
    },
提示要在app.json 配置permission字段,参考 小程序全局配置https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html

app.json
"permission": {
        "scope.userLocation": {
          "desc": "你的位置信息将用于小程序位置接口的效果展示"
        }
    }
效果如下


for指令
<view wx:for="{{dataList}}"> {{index}} - {{item}} </view>
效果如下

上传图片
uploadImage: function(){
      var that = this;
      wx.chooseImage({
        count: 5,
        sizeType: ['original', 'compressed'],
        success:function(res){
          that.setData({
            imageList: res.tempFilePaths
          })
        }
      })
    },
效果如下

数据双向绑定
<view>手机号:{{telphone}}</view>
<input value="{{telphone}}" bindinput="bindPhone" placeholder="请输入手机号"></input>
data: {
      telphone: "12213123"
    },
bindPhone: function(e){
      console.log(1);
      this.setData({
        telphone: e.detail.value
      })
    },
效果如下

微信小程序-全局配置、组件、页面跳转、用户信息等的更多相关文章
- 【微信】微信小程序 应用内的页面跳转在添加了tab以后就跳转不成功的问题解决
		在微信小程序中,本来应用页面内绑定在按钮上跳转页面可以成功,但是将页面添加在tab以后就不能实现跳转了 原本代码如下: //事件处理函数 bindViewTap: function() { wx.na ... 
- 微信小程序(3)--页面跳转和提示框
		微信小程序页面跳转方法: 1.<navigator url="../test/test"><button>点我可以切换可以返回</button> ... 
- 微信小程序 导航 4种页面跳转 详解
		1.wx.navigateTo 保留当前页面,跳转到应用内的某个页面,目前页面路径最多只能十层. 参数:url(可携带参数) .success .fail .complete 可用wxml代替: ... 
- 微信小程序(三)页面跳转和图片滑动切换
		跳转部分: 在index2.wxml中,添加跳转函数,如下所示: 
- 微信小程序中的组件使用1
		不管是vue还是react中,都在强调组件思想,同样,在微信小程序中也是使用组件思想来实现页面复用的,下面就简单介绍一下微信小程序中的组件思想. 组件定义与使用 要使用组件,首先需要有组件页面和使用组 ... 
- 微信小程序内置组件web-view的缓存问题探讨
		前言:博客或者论坛上面,还有自习亲身经历,发现微信小程序的webview组件的页面缓存问题相当严重,对开发H5的小童鞋来说应该困扰了不少.很多小童鞋硬是抓破脑袋也没有办法解决这个问题,那我们今天就来探 ... 
- 微信小程序环境配置和开发!!
		1.登陆微信公众平台小程序,下载 普通小程序开发者工具.或者 小游戏开发者工具. 2.新建项目需要填以下几点,然后初始demo如下,注意rpx是分成750份的单位. 3.点击预览,用微信扫描二维码,代 ... 
- 关于微信小程序前端Canvas组件教程
		关于微信小程序前端Canvas组件教程 微信小程序Canvas接口函数  上述为微信小程序Canvas的内部接口,通过熟练使用Canvas,即可画出较为美观的前端页面.下面是使用微信小程序画图的一些 ... 
- uni-app开发微信小程序引入UI组件库(Vant-weapp)步骤
		uni-app开发微信小程序引入UI组件库(Vant-weapp)步骤 这里以vant-weapp为例 uni-app官方文档介绍引入组件的方法 1. 新建相关目录 根目录下创建 wxcomponen ... 
随机推荐
- NC200211 装备合成
			NC200211 装备合成 题目 题目描述 牛牛有 \({x}\) 件材料 \({a}\) 和 \({y}\) 件材料 \({b}\) ,用 \({2}\) 件材料 \({a}\) 和 \({3}\) ... 
- RS485 MODBUS RTU通信协议
			1.RS485接口标准 RS485由RS232和RS422发展而来,弥补了抗干扰能力差.通信距离短.速率低的缺点,增加了多点.双向通信能力,即允许多个发送器连接在同一条主线上,同时增加了发送器的驱动能 ... 
- if else 还在用吗?
			当我们在使用if else 的时候,你是否闻到代码的坏味道呢? 除非非常简单的逻辑,当我们在写一大坨if else的时候,就应该审视一下是否这样写合适呢?是否这一坨代码体现某一个业务语义呢?是否体现领 ... 
- 常用Linux音译
			su:Swith user 切换用户,切换到root用户 cat: Concatenate 串联 uname: Unix name 系统名称 df: Disk free 空余硬盘 du: Disk u ... 
- YYYYMMdd和yyyyMMdd的区别
			YYYYMMdd的 YYYY 是表示:当天所在的周属于的年份,一周从周日开始,周六结束,只要本周跨年,那么这周就算入下一年.比如今天是2021-12-29 星期三,然后本周六是2022-01-01,存 ... 
- nginx虚拟主机测试
			一.基于域名的nginx虚拟主机 基于域名的nginx虚拟主机的操作步骤: 1 .为虚拟主机提供域名和IP的映射(也可以使用DNS正向解析) echo "172.16.10.101 www. ... 
- AtCoder Beginner Contest 248 E - K-colinear Line // 计算几何
			原题链接:E - K-colinear Line (atcoder.jp) 题意: 给出直角坐标系上N个点(N <= 300),求经过这些点中至少K个点的直线数量,若有无穷多条,则输出" ... 
- 一面数据: Hadoop 迁移云上架构设计与实践
			背景 一面数据创立于 2014 年,是一家领先的数据智能解决方案提供商,通过解读来自电商平台和社交媒体渠道的海量数据,提供实时.全面的数据洞察.长期服务全球快消巨头(宝洁.联合利华.玛氏等),获得行业 ... 
- 在阿里云Centos7.6上面配置Mysql主从数据库(master/slave),实现读写分离
			原文转载自「刘悦的技术博客」https://v3u.cn/a_id_85 在之前的一篇文章中,阐述了如何在高并发高负载的场景下使用nginx做后台服务的负载均衡:在阿里云Centos上配置nginx+ ... 
- 英特尔CPU系列
			1.酷睿(Core)系列,主要应用于管理 3D.高级视频和照片编辑,玩复杂游戏,享受高分辨率 4K 显示. 2.奔腾(PenTIum)系列,主要应用于借助功能丰富的处理器,加快便携式 2 合 1 电脑 ... 
