get-current-pages.uvue 1.2 KB
Newer Older
DCloud-WZF's avatar
DCloud-WZF 已提交
1
<template>
DCloud-yinjiacheng's avatar
DCloud-yinjiacheng 已提交
2 3 4 5 6 7 8 9
  <page-head title="getCurrentPages"></page-head>
  <view class="uni-padding-wrap">
    <button @click="_getCurrentPages">getCurrentPages</button>
    <view v-if="pages.length" style="padding: 15px 0px">
      <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>
DCloud-WZF's avatar
DCloud-WZF 已提交
10 11
    </view>
  </view>
DCloud-WZF's avatar
DCloud-WZF 已提交
12
</template>
DCloud-WZF's avatar
DCloud-WZF 已提交
13

H
hdx 已提交
14 15 16 17
<script>
  class Page {
    constructor(public route : string) {
    }
DCloud-WZF's avatar
DCloud-WZF 已提交
18
  }
DCloud-WZF's avatar
DCloud-WZF 已提交
19

H
hdx 已提交
20 21 22 23 24
  export default {
    data() {
      return {
        checked: false,
        pages: [] as Page[],
DCloud-WZF's avatar
DCloud-WZF 已提交
25
      }
H
hdx 已提交
26 27 28 29 30 31 32 33
    },
    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
DCloud-WZF's avatar
DCloud-WZF 已提交
34
        }
H
hdx 已提交
35 36 37 38 39 40 41
        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 已提交
42
    },
H
hdx 已提交
43
  }
DCloud-WZF's avatar
DCloud-WZF 已提交
44
</script>