继承 - extend

继承是 AzureFlow 作为一大物品库插件的重要特色与核心功能,通过使用继承功能可以减少大部分累赘雷同的配置代码,在开发中灵活运用继承可以达到事半功倍的效果。

同时 AzureFlow 通过遵循最小化粒度的理念为用户提供了一系列已完善好的模板物品,供用户直接选择组合使用。

介绍

通过使用 extend 配置项,可以实现物品继承的效果。

AzureFlow 支持多继承,并且父类物品应当编写在 templates 文件夹中。

值得一提的是,继承物品支持全继承以及覆盖赋值,以下进行相关解释。

  1. 子物品不光会继承父物品的 display 样式,还会继承 action(动作) 等其他配置。

  2. 子物品可以自行按需覆盖父物品的相关样式,例如 name、lore、option等。

当继承多个父物品时,物品的动作按照继承的先后顺序进行叠加连接。

继承物品时填写的节点既可以填写 唯一标识(uuid) 也可以填写 别名(alias)。

如果继承的物品无需传递参数,可以直接使用 _ 作为传递的参数。

语法

大致使用方法如下:

extend:
  # 传递参数
  template1:
    arg0: 100
    arg1: 'hello template'
    arg2: '*[1, 2, 3]'
  # 不传参
  template2: _
  #...: ...

可以通过在 模板物品/父物品 中使用 props 配置提前声明需要的参数,以便在模板物品接收这些参数并进行相关处理。

需要注意的是,extend 理论上来讲仍属于数据层,也就是说它可以直接使用数据,如data、computed等,无需使用表达式引用。

示例

正在施工中。。

Last updated