uni-app x 使用 UTS 语言使用 mixins

1. uni-app x 使用 UTS 语言使用 mixins

  在 uni-app x 中,使用 UTS 语言可以通过 defineMixin 函数或字面量对象的方式来定义和使用 mixins,与 JavaScript 中的使用方式类似,但需要注意 UTS 是强类型语言。

1.1. 基本用法

  mixins 选项接受一个 mixin 对象数组,支持两种定义方式:

1.1.1. 方式一:使用 defineMixin 函数(推荐)

javascript 复制代码
const mixin1 = defineMixin({
  onLoad() {
    console.log('mixin1 onLoad')
  },
  data() {
    return {
      mixinProp: '来自 mixin 的数据'
    }
  }
})
export default {
  mixins: [mixin1],
  onLoad() {
    console.log('页面 onLoad')
  }
}

1.1.2. 使用字面量对象

javascript 复制代码
export default {
  mixins: [
    {
      data() {
        return {
          mixin2: 'mixin2'
        }
      },
      methods: {
        mixinMethod() {
          console.log('mixin 方法')
        }
      }
    }
  ]
}

1.2. 选项合并规则

  (1)同名属性 :会被覆盖,优先级从低到高为: app.mixin 内嵌 < app.mixin 声明 < page.mixin 内嵌 < page.mixin 声明 < component.mixin 内嵌 < component.mixin 声明。

  (2)同名生命周期:会依次执行,执行顺序与上述优先级一致,先执行低优先级的 mixin,最后执行组件自身的生命周期。

1.3. 重要限制

  在 app-android 平台有以下限制:

  (1)App.uvue 不支持 mixins,全局 mixins 也不会对 App.uvue 生效

  (2)不支持运行时根据条件动态构造 mixins

  详细文档请参考:mixins - uni-app x 选项式 API

相关推荐
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
三十而立洋3 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
伞伞悦读3 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
卡布鲁3 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
C语言小火车3 天前
C/C++ 为什么需要编译器?
开发语言·c++
李少兄3 天前
JavaScript 隐式全局变量解析
javascript
霍霍的袁3 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
孙启超3 天前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust
此生决int3 天前
深入理解C++系列(20)——C++11(下)
开发语言·c++
沙蒿同学3 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端