小程式 之單頁面自定義tabbar
阿新 • • 發佈:2021-06-24
所謂單頁面自定義tabbar:tabbar切換都在一個頁面進行,把頁面做成元件的形式。
一、效果圖
二、示例程式碼
<view class=""> <block wx:if="{{blockid==0}}"> 首頁 </block> <block wx:if="{{blockid==1}}"> <!--把產品中心頁面做成元件--> <component_product /> </block> <block wx:if="{{blockid==2}}"> 瞭解產品頁面</block> <block wx:if="{{blockid==3}}"> 我的頁面 </block> <tabbar tabbarData="{{content.lang.toolbar.list}}" active="{{0}}" bgcolor="{{bgcolor}}" color="{{color}}" selectedColor="{{selectedColor}}" showborder="{{showborder}}" bind:tapChange="tabbarChange" /> </view>
var app = getApp() Page({ data: { blockid: 0, bgcolor: '#ffffff', color: "#cccccc", selectedColor: '#369138', showborder: true, bordercolor: "", tabbar: [], }, tabbarChange(e) { var index = parseInt(e.detail) _this.setData({ blockid: index }) }, onLoad() { _this= this wx.hideHomeButton({ success: (res) => {}, }) }, onShow() { }, getTabbar() { app.util.request({ url: app.util.url('entry/wxapp/tabbar'), data: { }, success(res) { var tabbar = res.data.data, title = tabbar[0].text wx.setNavigationBarTitle({ title: title, }) console.log(tabbar) _this.setData({ tabbar: tabbar }) } }) } })
product元件程式碼:
var app = getApp(),_this Component({ properties: { }, data: { list: [] }, lifetimes: { created: function () { _this = this }, attached: function () { console.log("attached") this.getList() } }, methods: { getList: function () { console.log(app.util.url('entry/wxapp/template')) app.util.request({ url: app.util.url('entry/wxapp/product'), showLoading: false, data: { m: 'we7_bybook_plugin_temp2', language: wx.getStorageSync('lang') ? wx.getStorageSync('lang') : 'zh' }, success(res) { _this.setData({ list: res.data.data }) } }) } } })