uniapp怎么判断nvue页面还是vue页面,代码怎么写
时间: 2024-03-06 09:51:57 浏览: 195
可以通过以下代码判断当前页面是nvue页面还是vue页面:
```javascript
// 判断当前页面是否为nvue页面
function isNvuePage() {
// 判断小程序平台
if (uni.getSystemInfoSync().platform === 'devtools') {
// 在开发者工具中,默认为vue页面
return false
}
// 判断文件后缀名和mpType字段
const pages = getCurrentPages()
const currentPage = pages[pages.length - 1]
if (currentPage.route.endsWith('.nvue') || currentPage.$page.meta.mpType === 'nvue') {
return true
}
// 判断$mp.platform属性
if (currentPage.$mp && currentPage.$mp.platform) {
return true
}
return false
}
// 使用方法
if (isNvuePage()) {
console.log('当前页面为nvue页面')
} else {
console.log('当前页面为vue页面')
}
```
以上代码中,`isNvuePage`函数中的三个判断分别是:
1. 判断小程序平台,如果是在开发者工具中运行,默认为vue页面。
2. 判断文件后缀名和mpType字段,如果当前页面的文件后缀名是`.nvue`或页面配置文件中的`mpType`字段为`nvue`,则为nvue页面。
3. 判断`$mp.platform`属性,如果当前页面存在`$mp.platform`属性,则为nvue页面。
根据以上三个条件的判断,可以比较准确地判断当前页面是nvue页面还是vue页面。
阅读全文