uniapp中打包应用后,组件在微信小程序和其他平台实现不同的样式

今天,我们来介绍一下,uniapp中如何实现打包应用后,组件在微信小程序和其他平台不同的样式,在这里,我们使用背景颜色进行演示,使用 UniApp 提供的 uni.getSystemInfoSync() 方法来获取系统信息,包括平台类型。以下是代码示例:

javascript 复制代码
<template>
  <view :class="bgClass"></view>
</template>

<script>
export default {
  data() {
    return {
      isWx: false,
    };
  },
  created() {
    // 获取系统信息
    const systemInfo = uni.getSystemInfoSync();
    this.isWx = systemInfo.platform === 'devtools' || systemInfo.platform === 'wechat'; // 判断是否为微信小程序
  },
  computed: {
    bgClass() {
      return this.isWx ? 'bg-wx' : 'bg-other';
    },
  },
};
</script>

<style>
.bg-wx {
  background-color: #ff0000; /* 微信小程序的背景颜色 */
}

.bg-other {
  background-color: #00ff00; /* 其他平台的背景颜色 */
}
</style>

解释:

  1. 获取系统信息 :在 created 生命周期钩子中,使用 uni.getSystemInfoSync() 方法获取系统信息,并判断平台是否为微信小程序。
  2. 计算属性 :根据 isWx 的值来决定使用哪个 CSS 类。
  3. 样式定义 :在 <style> 中定义了两个不同的背景颜色类。
相关推荐
等咸鱼的狸猫1 分钟前
# JS 核心六大主题:闭包内存模型、原型链查找、事件流机制与 Promise / Event Loop 实现视角复盘
前端·javascript
英勇无比的消炎药10 分钟前
还在手写对话面板?TinyRobot Container 一个组件装下整个 AI 聊天
vue.js
袋鱼不重36 分钟前
乐观锁与悲观锁:原理、选型与前后端实践
前端·后端
Charonmomo1 小时前
react/antd - 不能正确打开标签页问题记录
前端·react.js·前端框架
用户2930750976691 小时前
流式输出:Vue 3 + DeepSeek API 实战
vue.js
先吃饱再说1 小时前
流式输出完全指南:让 AI 对话像打字机一样流畅
javascript·vue.js
冬枳1 小时前
基于OpenSeagragon封装的前端病理切片展示组件
前端·typescript
爱勇宝2 小时前
《道德经》第6章:别把团队的创造力用到枯竭
前端·后端
无双_Joney2 小时前
[四期 - 4] NestJS专栏 - 征召一下大家的意见,非常想知道大家都想看看Nest的哪些方面
前端·后端·nestjs
彭亚川Allen2 小时前
停更的这一年,All In AI、陪媳妇生娃、还考了个研
前端·后端·产品经理