- Navigator.push 返回结果Future
/*反向传值为什么这两种都可以*/
void _testPush() async {
//1
String result = await Navigator.push(context, ...);
//2
Future f = await Navigator.push(context, ...);
f.then(value){}
}
2.注册路由
/*注册路由为什么需要加(context)*/
routes:{
"new_page":(context) => NewRoute(),
... // 省略其它路由注册信息
} ,
3.图片加载
/* NetworkImage()方法是调用的哪个类的*/
NetworkImage(
"https://avatars2.githubusercontent.com/u/20411648?s=460&v=4"
);
4.无法加载2.0x或者3.0x图片
//图片目录
.../static/images/2.0x/tabbar_icon_0_0.png
.../static/images/3.0x/tabbar_icon_0_1.png
在没有1.0x图的时候只有2.0x和3.0x图时yaml文件声明必须这样:
assets:
- static/images/tabbar_icon_0_0.png
- static/images/tabbar_icon_0_1.png
如果有1.0x图时候,图片声明可以以路径形式:
assets:
- static/images/
5.?.运算符
运算符 | 解释 |
---|---|
result = expr1 ?? expr2 | 若expr1为null, 返回expr2的值,否则返回expr1的值 |
expr1 ??= expr2 | 若expr1为null, 则把expr2的值赋值给expr1 |
result = expr1?.value | 若expr1为null, 就返回null,否则就返回expr1.value的值 |
网友评论