010-64928252 400-6446-365

微信小程序制作常用方法

2019-04-12

微信小程序自定义底部导航实现方法;
前面最简单的底部导航有很多情况下不能使用,比如:想要使用svg和字体图标 ,比如想要的底部菜单栏个数多于5个(一般情况下小于等于5个 ,我说的是有两个端入口的情况,比如教师端和学生端)
自定义导航有两种方式:将导航作为组件 和 将页面作为组件
(1)将导航作为组件

缺点 :会导致页面第一次进入的时候切换会导致有页面闪烁,这个闪烁其实就是url跳转。
这里代码就不放了,因为这个缺点实在是我无法容忍的,大家有需要的话,可以去查“自定义tabBar”,总会找到的。
(2)将页面作为组件
大致原理就是在主页面上写底部菜单代码,通过绑定这些菜单按钮来更改当前页面
主页面代码如下index.wxml


小程序tabBar右上角加标志加数字提醒方法;
显示数字或文字

wx.setTabBarBadge({

 index: 4,

 text: ‘new’, //可改 

});

移除文字

wx.removeTabBarBadge({

 index: 4,

});

//加红点

wx.showTabBarRedDot({

index: 4,

});

移除红点

wx.hideTabBarRedDot({

index: 4,

});


小程序TabBar栏的显示和隐藏方法;

有的时候我们可能需要将底部的TabBar隐藏起来,比如弹出分享弹出框得时候就可设置隐藏。
十分简单,参考以下:
// 显示
wx.showTabBar({})

// 隐藏
wx.hideTabBar({})
每个API都有动画animation属性,运行动画时会留出黑块,非常丑,选择性使用
以下是小程序对应的文档:
https://developers.weixin.qq.com/miniprogram/dev/api/ui-tabbar.html#wxsettabbaritemobject

bug:目前亲测发现安卓手机在显示和隐藏tab时页面会出现晃动的情况


微信小程序进行加减法运算的小技巧;

Page({
data: {
lastpasslevel:6,
},
togame: function () {
var nowlevel = this.data.lastpasslevel-1+2;//这里是一个很有趣的加法运算,本来想获取到当前关卡只需要将lastpasslevel加1即可,可字符串直接加就成了连接,但是先减1再加2就能进行运算。可能微信小程序内部封装了自动转换的方法把。
wx.navigateTo({
url: ‘../arscan/arscan?cpId=’ + this.data.cpId + ‘&nowlevel=’ + nowlevel
})
}
})

微信小程序中目前不清楚它的运算逻辑是怎样的,本来直接对某个定义的数值进行加1运算,却变成了字符串拼接,后来试了先减一再加二,就变成了加1运算。


微信小程序图片、组建透明度设置方法;

    div
    {
        opacity:0.5;
    }
    //图片透明度
    <image style="opacity:0.5" src="1.png"></image>
    // opacity :规定不透明度。从 0.0 (完全透明)到 1.0(完全不透明)

有两种解决方案,

  1.重写tabBar, (自定义)       这个方法相对太麻烦了,对于新手来说不太容易控制

  2. 设计图标样式规范,  (所切的png图片,给它里面留下相应尺寸的空白) 看下图

 
小程序tabBar图标显示太大解决方法,

  1.重写tabBar, (自定义)       这个方法相对太麻烦了,对于新手来说不太容易控制

  2. 设计图标样式规范,  (所切的png图片,给它里面留下相应尺寸的空白) 看下图

  下载此图片查看, 

      png格式的图片, 在切图时,不要紧贴图像切,  流出相应比例的空白;


微信小程实现序点击分享功能方法;

[html部分]

<view class="usermotto carDesc carDesc1">
<!-- <button class="user-motto share">{{motto}}</button> -->
<button class='share user-motto' id="shareBtn" open-type="share" hover-class="other-button-hover">
{{motto}}
</button>
</view>


[js部分]

pages({

    
data: {
tempFilePaths: '',
motto: '分享给朋友',
userInfo: {},
hasUserInfo: false,
canIUse: wx.canIUse('button.open-type.getUserInfo')
},
//分享按钮函数
onShareAppMessage: function (ops) {
if (ops.from === 'button') {
// 来自页面内转发按钮
console.log(ops.target)
}
return {
title: 'XXX小程序',
path: 'pages/index/index',
success: function (res) {
// 转发成功
console.log("转发成功:" + JSON.stringify(res));
},
fail: function (res) {
// 转发失败
console.log("转发失败:" + JSON.stringify(res));
}
}

},

})


TAG标签耗时:0.00154709815979 秒
010-64928252/400-6446-365 我现在就想找顾问聊聊
让决策变的简单
好的开始是成功的一半
您需要一位互联网
顾问提供专业咨询
AI人工智能 · VR · AR · 智慧博物馆 · 智慧公园 · 景区 · 文创 · 动画
高端钱柜娱乐777 · 小程序 · APP · 微信 · H5 · 游戏 · 电商 · 年度运营
'); })();