Tabbar.vue 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <template>
  2. <view>
  3. <u-tabbar v-model="myCurrent" :list="tabbarList" :before-switch="beforeSwitch" inactive-color="#ADB8C2" active-color="#5098FF">
  4. </u-tabbar>
  5. </view>
  6. </template>
  7. <script>
  8. var img1=require('@/assets/img/tabbarImg/home-wifi-fill.svg')
  9. var img2=require('@/assets/img/tabbarImg/home-wifi-fill2.svg')
  10. var img3=require('@/assets/img/tabbarImg/chat-1-fill.svg')
  11. var img4=require('@/assets/img/tabbarImg/chat-1-fill2.svg')
  12. var img5=require('@/assets/img/tabbarImg/chat-smile-2-fill.svg')
  13. var img6=require('@/assets/img/tabbarImg/chat-smile-2-fill2.svg')
  14. export default {
  15. name: "Tabbar",
  16. props: {
  17. current: 0,
  18. elderStatus: false,
  19. prefetchNum:0,
  20. },
  21. data() {
  22. return {
  23. oldindex: this.current,
  24. myCurrent: this.current,
  25. tabbarList: [{
  26. iconPath: img1,
  27. selectedIconPath: img2,
  28. text: '主页 ',
  29. pagePath2: "/pages/index/index",
  30. },
  31. {
  32. count:this.prefetchNum,
  33. iconPath: img3,
  34. selectedIconPath: img4,
  35. text: '消息',
  36. pagePath2: "/pages/message/message",
  37. },
  38. {
  39. iconPath: img5,
  40. selectedIconPath: img6,
  41. text: '我的',
  42. pagePath2: "/pages/mine/mine",
  43. }
  44. ],
  45. };
  46. },
  47. methods: {
  48. setcount(c) {
  49. this.myCurrent = c
  50. },
  51. beforeSwitch(index) {
  52. if (index == this.current) {
  53. return false
  54. }
  55. var url = this.tabbarList[index].pagePath2;
  56. uni.navigateTo({
  57. url: url
  58. })
  59. if (index == 1) {
  60. this.myCurrent = this.oldindex;
  61. return false;
  62. } else {
  63. return true;
  64. }
  65. },
  66. },
  67. mounted() {
  68. //this.tabbarList[1].count=this.prefetchNum;
  69. },
  70. destroyed() {
  71. }
  72. }
  73. </script>
  74. <style>
  75. </style>