registerRouterEvent method

void registerRouterEvent(
  1. BuildContext context,
  2. RouterVmSub routerVm
)

Implementation

void registerRouterEvent(BuildContext context, RouterVmSub routerVm) {
  //注册页面事件
  routerVm.registerPushPageParamsFunc((pushPageParams) {
    return onPushPageParams(context, pushPageParams);
  });

  routerVm.registerPushReplacementPageParamsFunc((pushPageParams) {
    return onPushReplacementPageParams(context, pushPageParams);
  });

  routerVm.registerPushNamedInfoFunc((slcRouterInfo) {
    return onPushNamedInfoFunc(context, slcRouterInfo);
  });

  routerVm.registerPushReplacementNamedFunc((slcRouterInfo) {
    return onReplacementNamedInfoFunc(context, slcRouterInfo);
  });

  //关闭页面
  routerVm.finishOf.addListener(() {
    dynamic value = (routerVm.finishOf as ObservableField<dynamic>).value;
    if (value != null) {
      Navigator.of(context).pop(value);
      return;
    }
    Navigator.of(context).pop();
  });
}