BiliRouteDelegate 类里的一个方法看不明白
来源:3-13 本章作业

慕后端6449339
2022-11-10
老师,同学,下面这个方法的格式不明白,哪位可帮助解答下🍺
BiliRouteDelegate() : navigatorKey = GlobalKey() 这一段是构造方法么,做初始化变量用的?
BiliRouteDelegate() : navigatorKey = GlobalKey() {
这里面怎么又可以加一些初始化内容?有点蒙圈
}
///相关代码
BiliRouteDelegate() : navigatorKey = GlobalKey() {
//实现路由跳转逻辑
HiNavigator.getInstance().registerRouteJump(
RouteJumpListener(onJumpTo: (RouteStatus routeStatus, {Map? args}) {
_routeStatus = routeStatus;
if (routeStatus == RouteStatus.detail) {
this.videoModel = args![‘videoMo’];
}
notifyListeners();
}));
//设置网络错误拦截器
HiNet.getInstance().setErrorInterceptor((error) {
if (error is NeedLogin) {
//清空失效的登录令牌
HiCache.getInstance().remove(LoginDao.BOARDING_PASS);
//拉起登录
HiNavigator.getInstance().onJumpTo(RouteStatus.login);
}
});
}
1回答
-
这是dart构造方法的一种写法,也叫初始化列表,构造函数后的冒号后面的内容就是初始化列表。
不同的初始化实例变量之间使用逗号隔开;
构造函数被调用时,先按顺序执行初始化列表内容,然后再执行“{}”内的内容。012022-11-11
相似问题