当前位置:首页 > uni-app

uniapp如何定义类

2026-02-06 11:48:19uni-app

定义类的基本语法

在 UniApp 中定义类与标准 JavaScript/TypeScript 语法一致,可以使用 class 关键字。以下是一个基础示例:

class Person {
  constructor(name, age) {
    this.name = name
    this.age = age
  }

  greet() {
    console.log(`Hello, my name is ${this.name}`)
  }
}

类的继承

通过 extends 实现继承,子类可以继承父类的属性和方法:

class Student extends Person {
  constructor(name, age, grade) {
    super(name, age)
    this.grade = grade
  }

  study() {
    console.log(`${this.name} is studying in grade ${this.grade}`)
  }
}

静态属性和方法

使用 static 关键字定义静态成员,这些成员属于类本身而非实例:

class MathUtils {
  static PI = 3.14159

  static add(a, b) {
    return a + b
  }
}

Getter/Setter

通过 getter 和 setter 控制对属性的访问:

class Temperature {
  constructor(celsius) {
    this._celsius = celsius
  }

  get celsius() {
    return this._celsius
  }

  set celsius(value) {
    if (value < -273.15) {
      throw new Error('Temperature below absolute zero')
    }
    this._celsius = value
  }
}

私有字段

ES2022 引入的私有字段语法,字段名前加 # 表示私有:

class Counter {
  #count = 0

  increment() {
    this.#count++
  }

  get value() {
    return this.#count
  }
}

在 UniApp 中使用类

在 UniApp 的 Vue 组件中,可以在 <script> 部分定义和使用类:

<script>
class Product {
  constructor(name, price) {
    this.name = name
    this.price = price
  }
}

export default {
  data() {
    return {
      product: new Product('iPhone', 999)
    }
  }
}
</script>

TypeScript 支持

如果使用 TypeScript,可以添加类型注解:

class Point {
  x: number
  y: number

  constructor(x: number, y: number) {
    this.x = x
    this.y = y
  }
}

uniapp如何定义类

标签: 定义uniapp
分享给朋友:

相关文章

uniapp教程

uniapp教程

uniapp 基础介绍 uniapp 是一个基于 Vue.js 的跨平台开发框架,支持一次开发,多端发布(如微信小程序、H5、App、快应用等)。其核心优势在于代码复用率高,学习成本低,适合快速构建多…

uniapp删除

uniapp删除

卸载 uniapp 项目依赖 在项目根目录下执行以下命令,移除 node_modules 和依赖锁文件: rm -rf node_modules package-lock.json 如需清理全…

uniapp使用axios无法请求

uniapp使用axios无法请求

uniapp中使用axios请求问题解决方案 在uniapp中使用axios可能会遇到跨域、请求失败或兼容性问题。以下是常见原因及解决方法: 检查axios安装与引入 确保已正确安装axios:…

uniapp隐藏右侧滚动条

uniapp隐藏右侧滚动条

隐藏右侧滚动条的方法 在UniApp中隐藏右侧滚动条可以通过CSS样式实现,适用于H5、小程序等平台。以下是几种常见的方法: 全局样式设置 在App.vue的全局样式中添加以下CSS代码,适用于所有…

uniapp 搜索

uniapp 搜索

uniapp 搜索功能实现方法 全局搜索组件集成 在pages.json中配置全局搜索栏,适用于所有页面顶部显示搜索框。示例代码: "globalStyle": { "navigationBa…

uniapp gpio

uniapp gpio

在 uniapp 中直接操作 GPIO(通用输入输出)通常需要依赖原生平台的硬件接口,因为 uniapp 本身是基于前端技术的跨平台框架,不直接提供硬件访问能力。以下是实现 GPIO 控制的几种方法:…