dart - Dart 中 onPressed 属性后面的空括号是什么意思?
问题描述
onPressed
我知道在小部件之后和onTap
为小部件调用函数的语法。有两个选项我们可以使用 the() => function()
或() { function(); }
语法。空括号是什么意思?
解决方案
() => expression
或() { statements }
创建一个闭包或内联函数。
onPressed
通过这种方式,您可以创建内联函数,该函数作为参数传递,以便在您传递给它的小部件发生事件时调用。
expression
or具有创建它们的上下文可用,并且可以访问和使用该statements
上下文中可用的所有成员和标识符(变量、方法、函数、typedef,...)。
如果你使用
onPressed: myFunction
传递了对现有函数的引用。
这仅在回调的参数预期onPressed
和myFunction
兼容的情况下才有效。onPressed: myFunction()
myFunction()
被执行并将返回的结果传递给onPressed
. 这是一个常见的错误,当实际上是为了传递一个引用myFunction
而不是调用它时无意中完成的。
推荐阅读
- angular - 当我从nodejs获取图像路径时,错误显示图像URL未在角度2的数组中定义
- zsh - optparse-applicative zsh 完成脚本期间的 compadd 失败
- z3 - Creating variables, pairs, and sets in Z3Py
- javascript - 如何在 ES6 vanilla javascript 中编写这些循环?
- jquery - OwlCarousel 2 slideBy不使用触摸和鼠标拖动
- xml - 为什么 xmllint 会给出模式解析器错误?
- vb.net - VB.net中的多串口通信
- node.js - Angular 7 中的 ActiveXObject 问题
- api - How to pass multiple parameters in post request in karate framework?
- bpmn - 一个进程中的多个 End 事件