getLogic method

  1. @override
dynamic getLogic()
override

读取对象的逻辑处理值

Implementation

@override
dynamic getLogic() {
  final target = _valueData;
  if (target is VmValue) {
    return target.getLogic();
  } else {
    if (metaType == VmMetaType.externalSuper) {
      final targeLayzer = target() as VmLazyer;
      return targeLayzer.getLogic();
    } else if (metaType == VmMetaType.internalValue) {
      return this; //注意:此处返回自身,用于逻辑调用
    } else if (metaType == VmMetaType.internalApply) {
      if (metaData.isGetter) return VmObject.readLogic(runFunction(null, null));
      return this; //注意:此处返回自身,用于逻辑调用
    } else {
      return target; //数据原生值
    }
  }
}