uni-app 页面传递参数Android报错
uni-app 页面传递参数Android报错
问题描述
页面传递参数Android编译报错,Web正常。
传参
toDetailPage(url : String) {
const targetUrl : String = `/pages/detail_web/detail_web?url=${url}`;
uni.navigateTo({
url: targetUrl
})
}
接收参数
onLoad(params) {
console.log(`onLoad:${params.url}`);
params.url
},
报错
17:43:54.217 [plugin:uni:app-uts] 编译失败
17:43:54.217 error: Unresolved reference: url
17:43:54.217 at pages/detail_web/detail_web.uvue:23:32
17:43:54.217 21 | },
17:43:54.217 22 | onLoad(params) {
17:43:54.217 23 | console.log(`onLoad:${params.url}`);
17:43:54.217 | ^
17:43:54.217 24 | params.url
17:43:54.217 25 | },
17:43:54.217 error: Unresolved reference: url
17:43:54.217 at pages/detail_web/detail_web.uvue:24:10
17:43:54.217 22 | onLoad(params) {
17:43:54.217 23 | console.log(`onLoad:${params.url}`);
17:43:54.217 24 | params.url
17:43:54.217 | ^
17:43:54.217 25 | },
更多关于uni-app 页面传递参数Android报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
在Android平台编译报错是因为uts类型检查更严格。onLoad的params参数需要明确类型定义。
修改接收参数的代码:
onLoad(params: { url?: string }) {
console.log(`onLoad:${params.url}`);
const targetUrl = params.url
}
主要问题:
params参数需要类型注解,明确包含url属性- 建议将
String改为小写string,这是TypeScript的标准类型 - 使用可选属性
?处理参数可能不存在的情况
传参部分也可以优化:
toDetailPage(url: string) {
const targetUrl = `/pages/detail_web/detail_web?url=${encodeURIComponent(url)}`;
uni.navigateTo({
url: targetUrl
})
}


