Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
hello uni-app x
提交
20ed73d3
H
hello uni-app x
项目概览
DCloud
/
hello uni-app x
通知
5995
Star
90
Fork
162
代码
文件
提交
分支
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看板
提交
20ed73d3
编写于
11月 02, 2023
作者:
Q
qiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: 更新拦截器示例,页面销毁时移除拦截器
# Conflicts: # pages/API/interceptor/interceptor.uvue
上级
857441e1
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
60 addition
and
56 deletion
+60
-56
pages/API/interceptor/interceptor.uvue
pages/API/interceptor/interceptor.uvue
+60
-56
未找到文件。
pages/API/interceptor/interceptor.uvue
浏览文件 @
20ed73d3
<template>
<template>
<view>
<view>
<button @click="addInterceptor">添加路由拦截器</button>
<button @click="addInterceptor">添加路由拦截器</button>
<button @click="removeInterceptor">移除路由拦截器</button>
<button @click="removeInterceptor">移除路由拦截器</button>
<text>点击下方按钮{{msg}}</text>
<text>点击下方按钮{{msg}}</text>
<button @click="navigateTo">跳转到测试页面</button>
<button @click="navigateTo">跳转到测试页面</button>
</view>
</view>
</template>
</template>
<script>
<script>
const interceptor = {
const interceptor = {
invoke: function (options : NavigateToOptions) {
invoke: function (options : NavigateToOptions) {
console.log('interceptor.invoke:', options)
console.log('interceptor.invoke:', options)
const url = './page2'
const url = './page2'
uni.showToast({
uni.showToast({
title: `重定向到页面:${url}`
title: `重定向到页面:${url}`
})
})
options.url = url
options.url = url
},
},
success: function (res : NavigateBackSuccess) {
success: function (res : NavigateBackSuccess) {
console.log('interceptor.success:', res)
console.log('interceptor.success:', res)
},
},
fail: function (err : NavigateToFail) {
fail: function (err : NavigateToFail) {
console.log('interceptor.fail:', err)
console.log('interceptor.fail:', err)
}
} as Interceptor
export default {
data() {
return {
msg:"会跳转到测试页面1"
}
},
methods: {
addInterceptor() {
uni.addInterceptor('navigateTo', interceptor)
uni.showToast({
title: '页面跳转已拦截'
})
this.msg = ",路由被劫持到测试页面2"
},
removeInterceptor() {
uni.removeInterceptor('navigateTo', interceptor)
uni.showToast({
title: '拦截器已移除'
})
this.msg = "会跳转到测试页面1"
},
navigateTo() {
uni.navigateTo({
url: './page1',
success(res) {
console.log('res:', res)
},
fail(err) {
console.error('err:', err)
}
})
}
}
}
}
} as Interceptor
export default {
data() {
return {
msg: "会跳转到测试页面1"
}
},
beforeUnmount() {
// 移除 navigateTo 所有拦截器
uni.removeInterceptor('navigateTo')
},
methods: {
addInterceptor() {
uni.addInterceptor('navigateTo', interceptor)
uni.showToast({
title: '页面跳转已拦截'
})
this.msg = ",路由被劫持到测试页面2"
},
removeInterceptor() {
uni.removeInterceptor('navigateTo', interceptor)
uni.showToast({
title: '拦截器已移除'
})
this.msg = "会跳转到测试页面1"
},
navigateTo() {
uni.navigateTo({
url: './page1',
success(res) {
console.log('res:', res)
},
fail(err) {
console.error('err:', err)
}
})
}
}
}
</script>
</script>
<style>
<style>
</style>
</style>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录