微信小程序常见的demo

这篇具有很好参考价值的文章主要介绍了微信小程序常见的demo。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.微信小程序的显示和隐藏

方法一:

html部分

<button type="primary" bindtap="openPopup" data-index="1">打开弹窗</button>


<!-- 中间弹窗 -->
<view class="popup-box" wx:if="{{showIndex=='1'}}" bindtap="closePopup"></view>
<view class="info-center" style="top:{{height*0.045}}px;height:{{height*0.92}}px;" wx:if="{{showIndex=='1'}}">

  <view class="rese" bindtap="closePopup">
  X
</view>

</view>

js部分

Page({
  /**
   * 页面的初始数据
   */
  data: {
    showIndex:null,//打开弹窗的对应下标
    height:'',//屏幕高度
  },
  // 打开弹窗
  openPopup(e){
    var index = e.currentTarget.dataset.index;
    this.setData({
      showIndex:index
    })
  },
  //关闭弹窗
  closePopup(){
    this.setData({
      showIndex:null,
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    var that = this;
    // 动态获取屏幕高度
    wx.getSystemInfo({
      success: (result) => {
        that.setData({
          height: result.windowHeight
        });
      },
    })
  },
})

wxss部分

.bigHeight{
  height:100%;
}


/* 蒙层 */
.popup-box{
  position: absolute;
  z-index: 99;
  top: 0;
  background-color: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
}

.rese{
  position: absolute;
  width: 50rpx;
  height: 50rpx;
  text-align: center;
  
  right: 0rpx;
  top: 10rpx;
  border-color: white;
}
/* 中 */
.info-center{

  position: fixed;

  z-index: 999;
  background-color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10rpx;
  width: 90%;
  margin-left: 5%;
  margin-right: 5%;
}
.home{
  height: 80%;
  overflow-y: auto;
  /* background-color: #33ccff; */
  margin-top: -205rpx;
}
.house{
display: flex;  
text-align: center;
justify-content: center;
}
.bottom{
  z-index: 1000;
  position: fixed;
  bottom: 50rpx;
  
}




/* 自定义内容(根据自己需求更改,可删除) */
button{
  margin: 15rpx 0;
}







要点总结:

先在data中声明变量,在html的标签中写入方法,代入到js中,一个是打开窗口的状态,一个是关闭窗口的状态

效果图

微信小程序demo,微信小程序,小程序

微信小程序demo,微信小程序,小程序

方法二 倒计时六秒后消失

html部分

<text wx:if="{{show}}" style='color:red;margin-right: 10rpx;'>倒计时{{countDownNum}}s</text>

js部分

Page({
 /**
   * 页面的初始数据
   */
  data: {

     countDownNum: '6',//倒计时初始值
     show:true
  },
 /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    //什么时候触发倒计时,就在什么地方调用这个函数
    this.countDown();
  },


countDown: function () {
    let that = this;
    let countDownNum = that.data.countDownNum;//获取倒计时初始值
    let isDisabled = that.data.isDisabled;
    //如果将定时器设置在外面,那么用户就看不到countDownNum的数值动态变化,所以要把定时器存进data里面
      that.data.timer = setInterval(function () {//这里把setInterval赋值给变量名为timer的变量
        //在倒计时还未到0时,这中间可以做其他的事情,按项目需求来
        if (countDownNum == 0) {
          that.setData({
            title: 'aaa',
            
            show:false,
          })
          clearInterval(that.data.timer);
          
          //这里特别要注意,计时器是始终一直在走的,如果你的时间为0,那么就要关掉定时器!不然相当耗性能
          //因为timer是存在data里面的,所以在关掉时,也要在data里取出后再关闭
          // clearInterval(that.data.timer);
          //关闭定时器之后,可作其他处理codes go here
        }else{
        //每隔一秒countDownNum就减一,实现同步
        countDownNum--;
        //然后把countDownNum存进data,好让用户知道时间在倒计着
        that.setData({
          countDownNum: countDownNum,
          isDisabled:true
        })}
      }, 1000)
  },

})

微信小程序demo,微信小程序,小程序

方法三:wx:if和hidden

hidden 属性
在 Vue 中我们可以通过 v-show 来控制组件是否显示
在小程序中所有组件都支持hidden属性,我们可以通过hidden属性来控制组件是否显示隐藏

wx:if
如果通过 wx:if 来隐藏组件,在页面结构中根本就不会渲染这个组件:

wx:if和hidden的区别
和 Vue 中 v-if/v-show 一样,不经常切换使用 v-show(wx:if),经常切换使用 v-if(hidden属性)

官方解释:因为 wx:if 之中的模板也可能包含数据绑定,所以当 wx:if 的条件值切换时,框架有一个局部渲染的过程,因为它会确保条件块在切换时销毁或重新渲染。同时 wx:if 也是惰性的,如果在初始渲染条件为 false,框架什么也不做,在条件第一次变成真的时候才开始局部渲染。相比之下,hidden 就简单的多,组件始终会被渲染,只是简单的控制显示与隐藏。一般来说,wx:if 有更高的切换消耗而 hidden 有更高的初始渲染消耗。因此,如果需要频繁切换的情景下,用 hidden 更好,如果在运行时条件不大可能改变则 wx:if 较好。

demo:

<view wx:if="{{false}}">
  BNTang
</view>

效果图

微信小程序demo,微信小程序,小程序

 

 

注:如果通过 hidden 来隐藏组件,在页面结构中是会渲染这个组件的(在 hiidden 当中 true 代表隐藏,false 代表不隐藏):

<view hidden="{{true}}">
  BNTang
</view>

微信小程序demo,微信小程序,小程序

总结:

也正是因为这个区别,就决定了它们不同的应用场景:

       如果组件不需要频繁的切换(隐藏和显示之间),那么用wx:if
       如果组件需要频繁的切换(隐藏和显示之间),那么用hidden
原因很简单,因为hidden会将组件渲染到页面结构中,只是通过修改display属性来实现隐藏和切换,所以不怎么消耗性能。

wx:if 不会将组件渲染到页面结构中,每次显示都会重新创建组件,比较消耗性能。文章来源地址https://www.toymoban.com/news/detail-801212.html

到了这里,关于微信小程序常见的demo的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序 + Java + Mysql(登录 Demo)

    目录 一、开发前准备 二、设计登录页面(小程序) 三、创建 Maven 项目 四、创建数据库与数据表 五、后台代码(Java Servlet) 六、运行 七、总结 建议  1、注册一个微信开发者账号:https://open.weixin.qq.com (略)  2、开发工具:idea、Mysql、微信开发者工具  3、应用技术:Ja

    2024年02月03日
    浏览(35)
  • 微信小程序实现的一个登录页面Demo

    微信小程序登录页面示例代码,包括了获取验证码按钮等30秒点一次功能和勾选同意用户条款的功能,仅供参考,效果图如下 *.wxml文件: *.wxss文件: *.js文件: 这个示例代码实现了一个登录页面,并且包括了输入手机号和验证码,获取验证码按钮,勾选同意用户条款,登录按

    2024年02月03日
    浏览(50)
  • 微信小程序引入高德地图Demo 快速上手

    本文参照官方文档进行编写 最后引入官方实例 最终效果 ` 注册账号 https://lbs.amap.com/?ref=http%3A%2F%2Flbs.amap.com%2Fdev%2F#/ 获取Key教程 https://lbs.amap.com/api/wx/guide/create-project/get-key/ 访问网址 https://github.com/amap-demo/wx-regeo-poiaround-weather 下载微信小程序实例 用微信开发者工具打开 打开

    2024年02月11日
    浏览(73)
  • uniapp 微信小程序:RecorderManager 录音DEMO

    使用 RecorderManager 实现录音。及相关的基本操作。(获取文件信息,上传文件) 此图包含Demo中用于上传测试的服务端程序 upload.exe ,下载后用解压工具打开即可。 上传接口如代码中所示: http://127.0.0.1:8999/upload 上传成功的文件,保存在 upload.exe 所在目录。 单文件demo,创建个

    2024年02月11日
    浏览(39)
  • Java实现微信小程序V3支付 (完整demo)

    2024年02月07日
    浏览(37)
  • uniapp实现微信小程序横屏适配问题demo效果(整理)

    使用VMIN进行布局 先了解css3的两个属性vmax和vmin 竖屏布局的时候,750rpx就是竖屏布局屏幕的宽度,vmin不管横竖屏的情况下,100vmin都是手机屏幕的宽度,所以rpx与vmin之间有一个换算的关系:x rpx=( x * 100 / 750)vmin。 也就是说: 75rpx转化为vmin就是 75 * 100/750=10vmin 所以我们将rpx转化

    2024年02月11日
    浏览(47)
  • 微信小程序——常见组件

    在小程序中有许多组件,接下来介绍一些常见的组件 目录 常见的视图容器类组件 轮播器组件 常见的基础内容组件 text —— 文本组件,类似于span,属于行内元素 rich-text —— 富文本组件 其他常用组件 button —— 按钮组件 image  —— 图片组件 image-mode的值: navigator  —— 导

    2024年03月18日
    浏览(33)
  • 微信小程序(一) —— 常见组件

    页面的.json配置文件 小程序中的每一个页面,可以使用.json文件来对本页面窗口外观进行配置,页面中的配置项会覆盖app.json的window中相同的配置项 新建小程序页面 只需要在app.json - pages中新增页面的存放路径,小程序开发者即可帮助我们自动创建对应页面 修改项目首页 只需

    2024年02月04日
    浏览(33)
  • 微信小程序video标签如何在其他视频播放时让另一个视频暂停播放-demo

    一个页面同时有很多视频播放,当用户点击一个视频后,开始播放视频,当点击另一个视频后,暂停前一个播放视频,让当前页面只有一个视频处于播放状态 原理 播放视频时,先判断当前是否有视频正在播放,如果没有,则播放,如果有,则暂停其他视频,再播放当前视频

    2024年02月04日
    浏览(84)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包