BeanBase
BeanBase
是所有 bean 的基类。通过继承自BeanBase
,我们可以在书写代码时便利的访问到常用的工具和能力
BeanBase
本身提供了一些内置成员
,也允许其他模块通过monkey
机制注入扩展成员
Zova 的 IOC 容器为何代码更简洁?
原因就是优先使用依赖查找
策略,从而使用更少的装饰器函数,使用更少的类型标注。向BeanBase
注入系统能力对象,就是践行依赖查找策略
的机制之一
内置成员
名称 | 说明 |
---|---|
app | 全局 App 对象 |
ctx | 当前 bean 实例所归属的 Context 对象 |
bean | 当前 bean 实例所归属的 bean 容器 |
scope | 当前 bean 实例所归属模块的 Scope 对象 |
$el | 当前 bean 实例所归属 Vue 组件的 dom element |
$event | 全局事件对象 |
$ssr | SSR对象 |
$useMeta | 用于SEO的Meta data |
$appUtil | = app.meta.util |
$ctxUtil | = ctx.meta.util |
页面组件
名称 | 说明 |
---|---|
$params | params参数,支持类型化 |
$query | query参数,支持类型化 |
子组件
名称 | 说明 |
---|---|
$props | props |
$emit | emit |
$slots | slots |
$attrs | attrs |
扩展成员
当创建好一个项目时,项目中就会存在一些模块,为我们进一步开发提供了基础能力
名称 | 说明 |
---|---|
$api | 由模块home-base 提供的api对象 |
$scopeBase | 由模块home-base 提供的scope对象 |
$class | 由模块home-base 提供的全局样式对象 |
$pinia | 由模块a-pinia 提供的pinia对象 |
$queryClient | 由模块a-model 提供的queryClient对象 |
$router | 由模块a-router 提供的router对象 |
$style | 由模块a-style 提供的style方法 |
$theme | 由模块a-style 提供的theme对象 |
$token | 由模块a-style 提供的token对象 |
Zova 可以搭配任何 UI 库使用,并且内置了几款 UI 库的项目模版,便于开箱即用。不同的 UI 库也会根据自身需要向BeanBase
基类注入对象
名称 | 说明 |
---|---|
$antdv | 由Antdv的模块antdv-adapter 提供 |
$q | 由Quasar的模块quasar-adapter 提供 |
$vuetify | 由Vuetify的模块vuetify-adapter 提供 |