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

相关推荐
kyriewen38 分钟前
别再 console.log 了:5 个 Chrome DevTools 调试技巧,用过就回不去了
前端·javascript·面试
To_OC2 小时前
LC 1 两数之和:面试第一道必考题,暴力解法直接被面试官 pass
javascript·算法·leetcode
GuWenyue4 小时前
排序效率低?5分钟吃透快速排序,性能飙升至O(nlogn)
前端·javascript·面试
何时梦醒4 小时前
深入理解递归与快速排序 —— 从基础入门到手写实现
前端·javascript
bonechips4 小时前
LLM 的无状态:从 HTTP 协议到对话上下文工程
前端·javascript
胡志辉4 小时前
从 prototype 到 V8,看懂 JavaScript 原型链
前端·javascript
ping某6 小时前
专栏-null 和 undefined 到底是什么?
前端·javascript·后端
swipe9 小时前
从 0 到 1 理解 React 虚拟列表:定高、不定高与 Canvas 版本完整拆解
前端·javascript·面试
铁皮饭盒9 小时前
Bun执行python代码
前端·javascript·后端
zzzzzz31011 小时前
当甲方说'logo放大的同时再缩小一点'时,我用 AI 把这个需求做出来了
javascript·css·程序员