index.vue 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <template>
  2. <view>
  3. <tabbar-calendar v-if="selectedIndex==0"></tabbar-calendar>
  4. <tabbar-message v-if="selectedIndex==1"></tabbar-message>
  5. <tabbar-mine v-if="selectedIndex==2"></tabbar-mine>
  6. <view class="cu-bar tabbar bg-white shadow foot">
  7. <view v-for="item in tabItems" :index='item.index' class="action" @click="tabBarDidChange" :data-index="item.index">
  8. <view class="cuIcon-cu-image">
  9. <image :src="selectedIndex==item.index?item.image_selected:item.image" />
  10. </view>
  11. <view :class="selectedIndex==item.index?'text-red':'text-gray'"> {{ item.name }} </view>
  12. </view>
  13. </view>
  14. </view>
  15. </template>
  16. <script>
  17. import TabbarMine from '../mine/index.vue'
  18. import TabbarCalendar from '../calendar/index.vue'
  19. import TabbarMessage from '../message/index.vue'
  20. export default {
  21. components: {
  22. TabbarMine,
  23. TabbarCalendar,
  24. TabbarMessage
  25. },
  26. data() {
  27. return {
  28. PageCur: 'calendar',
  29. selectedIndex: 0,
  30. tabItems: [
  31. { 'index': 0, 'name': this.$i18n.t('calendar'), 'image': '/static/tabbar/calendar.png', 'image_selected': '/static/tabbar/calendar_active.png'},
  32. { 'index': 1, 'name': this.$i18n.t('message'), 'image': '/static/tabbar/message.png', 'image_selected': '/static/tabbar/message_active.png'},
  33. { 'index': 2, 'name': this.$i18n.t('me'), 'image': '/static/tabbar/me.png', 'image_selected': '/static/tabbar/me_active.png'},
  34. ],
  35. }
  36. },
  37. methods: {
  38. tabBarDidChange(e) {
  39. this.selectedIndex = e.currentTarget.dataset.index
  40. }
  41. }
  42. }
  43. </script>
  44. <style>
  45. </style>