1. 程式人生 > 其它 >小程式 之單頁面自定義tabbar

小程式 之單頁面自定義tabbar

所謂單頁面自定義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
          })
        }
      })

    }
  }
})