get-current-pages.uvue 1.2 KB
Newer Older
DCloud-WZF's avatar
DCloud-WZF 已提交
1
<template>
DCloud-WZF's avatar
DCloud-WZF 已提交
2 3
  <view>
    <page-head title="getCurrentPages"></page-head>
4 5
    <view class="uni-padding-wrap">
      <button @click="_getCurrentPages">getCurrentPages</button>
DCloud-WZF's avatar
DCloud-WZF 已提交
6
      <view v-if="pages.length" style="padding: 15px 0px">
7 8 9 10 11 12 13
        <text>当前页面栈中 {{ pages.length }} 个页面,列表如下:</text>
        <template v-for="(page, index) in pages" :key="page.route">
          <text style="margin-top: 5px"
            >index: {{ index }}, route: {{ page.route }}</text
          >
        </template>
      </view>
DCloud-WZF's avatar
DCloud-WZF 已提交
14 15
    </view>
  </view>
DCloud-WZF's avatar
DCloud-WZF 已提交
16
</template>
DCloud-WZF's avatar
DCloud-WZF 已提交
17

DCloud-WZF's avatar
DCloud-WZF 已提交
18
<script lang="uts">
DCloud-WZF's avatar
DCloud-WZF 已提交
19
class Page {
DCloud-WZF's avatar
DCloud-WZF 已提交
20 21
  constructor(public route : string) {
  }
DCloud-WZF's avatar
DCloud-WZF 已提交
22
}
DCloud-WZF's avatar
DCloud-WZF 已提交
23

DCloud-WZF's avatar
DCloud-WZF 已提交
24
export default {
DCloud-WZF's avatar
DCloud-WZF 已提交
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
  data() {
    return {
      checked: false,
      pages: [] as Page[],
    }
  },
  methods: {
    _getCurrentPages: function () {
      this.pages.length = 0
      const pages = getCurrentPages()
      this.pages.push(new Page(pages[0].route))
      if (this.pages[0].route.includes('/tabBar/')) {
        this.checked = true
      }
      for (let i = 1; i < pages.length; i++) {
        this.pages.push(new Page(pages[i].route))
        if (pages[i].route.includes('/tabBar/')) {
          this.checked = false
        }
      }
    },
  },
DCloud-WZF's avatar
DCloud-WZF 已提交
47 48
}
</script>