Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
hello uni-app x
提交
dc831992
H
hello uni-app x
项目概览
DCloud
/
hello uni-app x
通知
6005
Star
91
Fork
164
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
18
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hello uni-app x
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
18
Issue
18
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
dc831992
编写于
7月 19, 2023
作者:
DCloud-WZF
💬
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: getCurrentPages
上级
ba3c10b6
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
61 addition
and
33 deletion
+61
-33
pages/API/get-current-pages/get-current-pages.test.js
pages/API/get-current-pages/get-current-pages.test.js
+9
-2
pages/API/get-current-pages/get-current-pages.uvue
pages/API/get-current-pages/get-current-pages.uvue
+52
-31
未找到文件。
pages/API/get-current-pages/get-current-pages.test.js
浏览文件 @
dc831992
const
PAGE_PATH
=
'
/pages/API/get-current-pages/get-current-pages
'
describe
(
'
getCurrentPages
'
,
()
=>
{
let
page
it
(
'
getCurrentPages
'
,
async
()
=>
{
const
page
=
await
program
.
navigateTo
(
PAGE_PATH
)
page
=
await
program
.
navigateTo
(
PAGE_PATH
)
await
page
.
waitFor
(
1000
)
await
page
.
callMethod
(
'
getCurrentPages
'
)
await
page
.
callMethod
(
'
_
getCurrentPages
'
)
const
data
=
await
page
.
data
()
expect
(
data
.
checked
).
toBe
(
true
)
})
it
(
'
hideAndShow
'
,
async
()
=>
{
await
page
.
callMethod
(
'
hideAndShow
'
)
await
page
.
waitFor
(
1000
)
const
data
=
await
page
.
data
()
expect
(
data
.
showTimes
).
toBe
(
2
)
})
})
pages/API/get-current-pages/get-current-pages.uvue
浏览文件 @
dc831992
<template>
<view>
<page-head title="getCurrentPages"></page-head>
<button @click="getCurrentPages">getCurrentPages</button>
<text>{{result}}</text>
</view>
<view>
<page-head title="getCurrentPages"></page-head>
<button @click="_getCurrentPages">getCurrentPages</button>
<button class="uni-common-mt" @click="hideAndShow">页面隐藏并显示</button>
<view style="padding: 15px 10px">
<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>
</view>
</template>
<script>
export default {
data() {
return {
checked: false,
result:""
class Page {
constructor(public route : string) {
}
}
export default {
data() {
return {
checked: false,
showTimes: 0,
pages: [] as Page[],
}
},
onShow() {
this.showTimes++
},
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
}
},
methods: {
getCurrentPages: function () {
const pages = getCurrentPages()
let tmps ="当前页面栈中有" + pages.length.toString() + "个页面。列表如下:\n"
for (let i = 0; i < pages.length; i++) {
tmps = tmps + pages[i].route + "\n"
}
this.result = tmps
// console.log('pages: ',pages.toString());
// TODO 判断条件不对,需要根据自动化测试执行脚本准确验证所有栈内页面
if (pages[0].route.includes('/tabBar/')) {
this.checked = true
}
for (let i = 1; i < pages.length; i++) {
if (pages[i].route.includes('/tabBar/')) {
this.checked = false
}
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
}
}
,
}
},
}
</script>
\ No newline at end of file
hideAndShow() {
const pages = getCurrentPages()
const currentPage = pages[pages.length - 1]
const currentPageInstance = currentPage.$getAppPage()
if (currentPageInstance != null) {
currentPageInstance.hide(new Map())
currentPageInstance.show(new Map())
}
}
},
}
</script>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录