当前位置:首页 > 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 关键字定义静态成员,这些成员属于类本身而非实例:

uniapp如何定义类

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 引入的私有字段语法,字段名前加 # 表示私有:

uniapp如何定义类

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支持通过video组件实现视频播放功能,该组件兼容多端(H5、小程序、App等),基本用法如下: <template> <video…

uniapp面试问啥

uniapp面试问啥

技术基础类问题 UniApp框架特性 跨端实现原理及条件编译的使用场景 如何理解"一次开发,多端运行"的优缺点 rpx与vw/vh单位的适配差异 Vue相关 生命周期在UniA…

丸子uniapp

丸子uniapp

丸子UniApp简介 丸子UniApp是一个基于UniApp框架开发的移动应用解决方案,通常用于快速构建跨平台应用(如微信小程序、H5、Android/iOS等)。其核心特点是利用UniApp的“一次…

uniapp商场

uniapp商场

uniapp 商城开发指南 开发环境搭建 安装HBuilderX作为开发工具,确保已安装Node.js和npm。创建uniapp项目时选择模板,推荐使用官方提供的商城模板或插件市场中的商城模板。 页…

uniapp探探

uniapp探探

uniapp实现探探滑动卡片效果 探探的滑动卡片效果主要包含卡片堆叠、左右滑动操作、动画反馈等功能。在uniapp中可以通过以下方式实现类似交互: 使用swiper组件实现基础滑动 uniapp的s…

uniapp全局校验

uniapp全局校验

uniapp全局校验的实现方法 在uniapp中实现全局校验可以通过多种方式,主要包括拦截器、全局混入和自定义指令等方法。 使用请求拦截器进行校验 在main.js中配置请求拦截器,对所有请求进行统…