在我对Polymer Dart 1.0.0的探索中,我发现对于事件和观察者方法,我不得不使用这个模式
@reflectable
void someEvent([_, __]) {
...
}
或在观察者方法上
@Observe('someField')
void someFieldChanged([_, __]) {
...
}
我明白方括号是什么,可选参数,我也明白,如果你不关心传递的参数,你可以用下划线表示这个参数。让我感到惊讶的是,我看到的例子使用了双下划线__作为方括号之间的第二个符号。当我试图再次使用单个下划线时,我得到了一个重复的形式参数错误。为什么第二个你不关心的参数必须和第一个不同?根据这个逻辑,如果我包含第三个,是否意味着它必须是一个三重下划线___?
谢谢。
没什么特别的。_
, __
, a
只是变量标识符。_
通常用于命名未使用的变量。这里有两个未使用的变量,第一个名为_
,第二个名为__
。对于多个未使用的变量,通常将它们命名为_
, __
, ___
…或_1
, _2
, _3
…
在Polymer 3.0中,单下划线表示受保护的属性或方法,双下划线表示类的私有成员。
请查看此参考以获取更多信息:https://polymer-library.polymer-project.org/3.0/docs/devguide/properties