微信小程序使用总结

1.控件

1.1 按钮

class:用于给按钮添加样式,可以通过在对应的 WXML 文件中定义样式类来设置。
style:用于给按钮添加内联样式,可以直接在 style 属性中定义样式。
src:用于设置按钮的图标,通常与 image-tap 属性一起使用。
image-tap:用于设置按钮点击时的图标,通常与 src 属性一起使用。
background-color:用于设置按钮的背景色。
color:用于设置按钮文本的颜色。
border:用于设置按钮的边框。
disabled:用于禁用按钮,默认为 false。
bindtap:用于设置按钮点击事件的处理函数。

<button class="my-button" style="background-color: #F00; color: #FFF; border: 1px solid #000;" bindtap="handleClick">点击我</button>

按钮点击事件:

 handleClick: function() {
    console.log('按钮被点击了');
    //页面跳转,跳转到spacceserver
    wx.navigateTo({
      url: '../spacereserve/spacereserve'
    })
  }

1.2 输入框

html:

<view>
  <input type="text" placeholder="请输入文本" bindinput="handleInput" />
</view>

获取输入内容:

Page({
  data: {
    inputValue: '' // 保存输入框的值
  },
  handleInput: function(e) {
    this.setData({
      inputValue: e.detail.value // 更新输入框的值
    })
  }
})

1.3 按钮点击或其他提示信息

showModel:

wx.showModal({
      title: '提示',
      content: '这是一条提示信息',
      success: function (res) {
        if (res.confirm) {
          console.log('用户点击确定');
          //确认之后,后续处理函数
        } else if (res.cancel) {
          console.log('用户点击取消');
          //取消处理
        }
      }
    })

1.4 Data数据获取与设置

data:

data: {
    inputValue: '' // 保存输入框的值
  }

获取:(在wx.)时候需要在这之前将this赋值给that或其他

this.data.inputvalue

设置:

this.setData({
      inputValue: 'hello' // 更新输入框的值
    })

2.请求(request)

POST请求:(GET请求去掉data)

wx.request({
      url: 'https://example.com/api',
      method: 'POST',
      data: {
        key1: 'value1',
        key2: 'value2'
      },
      success: function (res) {
        console.log(res.data)
      },
      fail: function (err) {
        console.log(err)
      }
    })

请求中传输Data数据:

var that=this;
wx.request({
      url: 'https://example.com/api',
      method: 'POST',
      data: {
        key1: that.data.inputvalue1,
        key2: that.data.inputvalue1
      },
      success: function (res) {
        console.log(res.data)
      },
      fail: function (err) {
        console.log(err)
      }
    })

3.地图

3.1 地图使用

wxml引入map组件,设置参数,markers是地图中添加的标记。

<map id="map" longitude="{{longitude}}" latitude=" {{latitude}}" markers="{{markers}}" scale="15" show-location style="width: 100%; height: 100%;" bindmarkertap="showP"></map>

3.2 添加标记

在Page的data中添加markers数组数据,类型为:

[{
            "height": 30,
            "iconPath": "../../marker.png",
            "id": 165,
            "latitude": 30.570199966431,
            "longitude": 104.064758300781,
            "title": "南宁兴宁区",
            "width": 30
        },
]

3.3 图标点击事件(弹窗)

通过bindmarkertap来响应点击,传递参数为该图标的id,需要从数据中遍历来查找该条数据:

//点击处理函数
showP:function(e){
    console.log(e.detail.markerId);
    var data=this.data.gps_data;
    var data1={};
    //遍历获取数据
    for(var i=0;i<data.length;i++){
      if(data[i].id=e.detail.markerId){
        console.log(data[i].id);
        data1=data[i];
        break;
      }
    }
    console.log(data1);
    //showModel弹窗显示数据
    wx.showModal({
      title: data1.location,
      content: '设备类型:'+data1.davice_type+"\n速度:"+data1.speed+"\n时间:"+data1.gps_time+"\n经度:"+data1.longitude+"\n纬度:"+data1.latitude,
      success: function (res) {
        if (res.confirm) {//这里是点击了确定以后
          console.log('用户点击确定')
        } else {//这里是点击了取消以后
          console.log('用户点击取消')
        }
      }
    })
  },
//获取数据
  getGPSData() {
    var that = this;
    wx.request({
      url: 'http://114.115.206.93:5000/get_gps_data',
      method: 'GET',
      success: function (res) {
        // 请求成功后的回调函数
        that.setData({
          markers: res.data.markers,
          gps_data: res.data.data,
        });
        console.log(res.data.markers);
        console.log(res.data.data);
      },
      fail: function (error) {
        // 请求失败后的回调函数
        console.log(error) // 打印错误信息
      }
    })
  },

3.4 定时器

延迟执行setTimeout,会延迟500ms执行一次,只会执行一次:

this.data.timer=setTimeout(
    function () {
        // TODO 你需要执行的任务
        console.log('startTimer  500毫秒后执行一次任务')
    }, 500);
//清除定时器
clearTimeout(that.data.timer)

不断执行,每隔500ms执行一次function内的代码

this.data.inter=setInterval(
    function () {
        // TODO 你需要无限循环执行的任务
        console.log('setInterval 每过500毫秒执行一次任务')
    }, 500);
//清除定时器
clearInterval(that.data.inter)
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇