2019-06-11
微信小(xiǎo)程序自定義底部導航實現方法;
前面最簡單的底部導航有很多情況下(xià)不能使用,比如:想要使用svg和字體(tǐ)圖标 ,比如想要的底部菜單欄個數多于5個(一(yī)般情況下(xià)小(xiǎo)于等于5個 ,我(wǒ)說的是有兩個端入口的情況,比如教師端和學生(shēng)端)
自定義導航有兩種方式:将導航作爲組件 和 将頁面作爲組件
(1)将導航作爲組件
缺點 :會導緻頁面第一(yī)次進入的時候切換會導緻有頁面閃爍,這個閃爍其實就是url跳轉。
這裏代碼就不放(fàng)了,因爲這個缺點實在是我(wǒ)無法容忍的,大(dà)家有需要的話(huà),可以去(qù)查“自定義tabBar”,總會找到的。
(2)将頁面作爲組件
大(dà)緻原理就是在主頁面上寫底部菜單代碼,通過綁定這些菜單按鈕來更改當前頁面
主頁面代碼如下(xià)index.wxml
小(xiǎo)程序tabBar右上角加标志(zhì)加數字提醒方法;
顯示數字或文字
wx.setTabBarBadge({
index: 4,
text: ‘new’, //可改
});
移除文字
wx.removeTabBarBadge({
index: 4,
});
//加紅點
wx.showTabBarRedDot({
index: 4,
});
移除紅點
wx.hideTabBarRedDot({
index: 4,
});
小(xiǎo)程序TabBar欄的顯示和隐藏方法;
有的時候我(wǒ)們可能需要将底部的TabBar隐藏起來,比如彈出分(fēn)享彈出框得時候就可設置隐藏。
十分(fēn)簡單,參考以下(xià):
// 顯示
wx.showTabBar({})
// 隐藏
wx.hideTabBar({})
每個API都有動畫animation屬性,運行動畫時會留出黑塊,非常醜,選擇性使用
以下(xià)是小(xiǎo)程序對應的文檔:
https://developers.weixin.qq.com/miniprogram/dev/framework/
bug:目前親測發現安卓手機在顯示和隐藏tab時頁面會出現晃動的情況
微信小(xiǎo)程序進行加減法運算的小(xiǎo)技巧;
Page({
data: {
lastpasslevel:6,
},
togame: function () {
var nowlevel = this.data.lastpasslevel-1+2;//這裏是一(yī)個很有趣的加法運算,本來想獲取到當前關卡隻需要将lastpasslevel加1即可,可字符串直接加就成了連接,但是先減1再加2就能進行運算。可能微信小(xiǎo)程序内部封裝了自動轉換的方法把。
wx.navigateTo({
url: ‘../arscan/arscan?cpId=’ + this.data.cpId + ‘&nowlevel=’ + nowlevel
})
}
})
微信小(xiǎo)程序中(zhōng)目前不清楚它的運算邏輯是怎樣的,本來直接對某個定義的數值進行加1運算,卻變成了字符串拼接,後來試了先減一(yī)再加二,就變成了加1運算。
微信小(xiǎo)程序圖片、組建透明度設置方法;
div
{
opacity:0.5;
}
//圖片透明度
<image style="opacity:0.5" src="1.png"></image>
// opacity :規定不透明度。從 0.0 (完全透明)到 1.0(完全不透明)
有兩種解決方案,
1.重寫tabBar, (自定義) 這個方法相對太麻煩了,對于新手來說不太容易控制
2. 設計圖标樣式規範, (所切的png圖片,給它裏面留下(xià)相應尺寸的空白(bái)) 看下(xià)圖
小(xiǎo)程序tabBar圖标顯示太大(dà)解決方法,
1.重寫tabBar, (自定義) 這個方法相對太麻煩了,對于新手來說不太容易控制
2. 設計圖标樣式規範, (所切的png圖片,給它裏面留下(xià)相應尺寸的空白(bái)) 看下(xià)圖
下(xià)載此圖片查看,
png格式的圖片, 在切圖時,不要緊貼圖像切, 流出相應比例的空白(bái);
微信小(xiǎo)程實現序點擊分(fēn)享功能方法;
[html部分(fēn)]
<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部分(fēn)]
pages({
data: {
tempFilePaths: '',
motto: '分(fēn)享給朋友',
userInfo: {},
hasUserInfo: false,
canIUse: wx.canIUse('button.open-type.getUserInfo')
},
//分(fēn)享按鈕函數
onShareAppMessage: function (ops) {
if (ops.from === 'button') {
// 來自頁面内轉發按鈕
console.log(ops.target)
}
return {
title: 'XXX小(xiǎo)程序',
path: 'pages/index/index',
success: function (res) {
// 轉發成功
console.log("轉發成功:" + JSON.stringify(res));
},
fail: function (res) {
// 轉發失敗
console.log("轉發失敗:" + JSON.stringify(res));
}
}
},
})
責任編輯:中(zhōng)山網站建設
【網訊網絡】國家高新技術企業》十年專注軟件開(kāi)發,網站建設,網頁設計,APP開(kāi)發,小(xiǎo)程序,微信公衆号開(kāi)發,定制各類企業管理軟件(OA、CRM、ERP、訂單管理系統、進銷存管理軟件等)!服務熱線:0760-88610046、13924923903,http://www.wansion.net
上一(yī)篇:淺析建設智慧園區票務系統
下(xià)一(yī)篇:淺析JSP動态頁面開(kāi)發優勢和劣勢
*請認真填寫需求,我(wǒ)們會在24小(xiǎo)時内與您取得聯系。