index.vue 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <template>
  2. <view>
  3. <index ref="首页" v-show="page == '首页'" @changePage="changePage" />
  4. <my-case ref="案例" v-show="page == '案例'" />
  5. <dataBank ref="资料库" v-show="page == '资料库'" />
  6. <school ref="商学院" v-show="page == '商学院'" />
  7. <product ref="单品" v-show="page == '单品'" />
  8. <bottom-suspension-frame ref="pages" @onChange="pageChange" />
  9. </view>
  10. </template>
  11. <script>
  12. import index from './index/index.vue'
  13. import myCase from './index/myCase.vue'
  14. import dataBank from './cloud/dataBank.vue'
  15. import school from './cloud/school.vue'
  16. import product from './cloud/product.vue'
  17. import bottomSuspensionFrame from "./modules/bottomSuspensionFrame.vue";
  18. export default {
  19. components: { bottomSuspensionFrame, index, myCase, dataBank, school, product },
  20. data() {
  21. return {
  22. swiperItemID: 'index',
  23. page: '首页'
  24. }
  25. },
  26. onShow() {
  27. // #ifdef MP-WEIXIN
  28. this.updatePageData(this.swiperItemID, this.page)
  29. // #endif
  30. },
  31. methods: {
  32. updatePageData(itemId, page) {
  33. if (this.$refs[this.page].updatePage) this.$refs.pages.onClick(itemId, page)
  34. },
  35. changePage(itemId, page, params) {
  36. this.$refs.pages.onClick(itemId, page, false, params)
  37. },
  38. pageChange(detail) {
  39. uni.setNavigationBarTitle({
  40. title: detail.name,
  41. })
  42. this.page = detail.name;
  43. try {
  44. console.log(this.$refs[detail.name].updatePage)
  45. if (this.$refs[detail.name].updatePage) uni.pageScrollTo({
  46. scrollTop: 0,
  47. duration: 0,
  48. })
  49. this.$refs[detail.name].init(detail.callBack, detail.params)
  50. } catch (error) {
  51. detail.callBack()
  52. }
  53. console.log("切换页面", detail)
  54. }
  55. }
  56. }
  57. </script>
  58. <style lang="scss"></style>