欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > IT业 > uniapp中判断设备类型

uniapp中判断设备类型

2025/7/15 19:29:45 来源:https://blog.csdn.net/wh_xia_jun/article/details/144934293  浏览:    关键词:uniapp中判断设备类型

全局变量:

在 UniApp 中,你可以通过 uni.getDeviceInfo 获取设备信息,并将设备类型全局存放。通常,这些信息可以存放在 app.vue 的全局变量中,以便在整个应用中访问。

以下是如何在 app.vue 中实现这一功能的完整代码,以及如何在其他页面中引用这些信息的示例。

app.vue

<template><App />
</template><script>
export default {data() {return {globalDeviceInfo: {}};},onLaunch: function() {console.log('App Launch');this.getDeviceInfo();},onShow: function() {console.log('App Show');},onHide: function() {console.log('App Hide');},methods: {getDeviceInfo() {uni.getDeviceInfo({success: (res) => {this.globalDeviceInfo = res;console.log('Device Info:', this.globalDeviceInfo);},fail: (err) => {console.error('Failed to get device info:', err);}});}},provide() {return {globalDeviceInfo: this.globalDeviceInfo};}
};
</script><style lang="scss">
@import "@/static/iconfont.css";
@import '@/uni_modules/uni-scss/index.scss';
/* #ifndef APP-NVUE */
@import '@/static/customicons.css';
@import './common/uni.css';
/* 设置整个项目的背景色 */
page {background-color: #f5f5f5;
}
/* #endif */
.example-info {font-size: 14px;color: #333;padding: 10px;
}
</style>

  在其他页面中引用全局设备信息

你可以使用 inject 来获取 app.vue 中提供的 globalDeviceInfo。inject 翻译过就是“注入”

<script>
import { ref, reactive, onMounted, onUnmounted, inject} from 'vue';
import WebSocketClient from '../../utils/websocket-client';export default {name: 'chatRoom',setup() {const globalDeviceInfo = inject('globalDeviceInfo');
.....
别忘了从vue中导入 inject.

解释

  1. app.vue:
    • 在 data 中定义一个 globalDeviceInfo 对象来存储设备信息。
    • 在 onLaunch 生命周期钩子中调用 getDeviceInfo 方法获取设备信息。
    • 使用 provide 方法将 globalDeviceInfo 提供给所有子组件。
  2. 其他页面:
    • 使用 inject 获取 app.vue 中提供的 globalDeviceInfo
    • 在 mounted 生命周期钩子中初始化设备信息,并将其赋值给本地数据。

这样,你就可以在整个 UniApp 应用中方便地访问设备信息了。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词