带有“=> Unit”参数替代项的重载方法值触发器
Overloaded method value trigger with alternatives for '=> Unit' parameter
我刚刚将 Scala.rx 版本 0.3.2 升级到 0.4.0,然后我的 trigger
s 突然出现以下错误:
overloaded method value trigger with alternatives:
[error] (f: Boolean => Unit)(implicit ownerCtx: rx.Ctx.Owner)rx.Obs <and>
[error] (thunk: => Unit)(implicit ownerCtx: rx.Ctx.Owner)rx.Obs
[error] cannot be applied to (() => org.scalajs.jquery.JQuery)
[error] MyRx.trigger { () =>
我所有的方法调用都是这样的:
import rx.Ctx.Owner.Unsafe._
val MyRx: Var[Boolean] = Var[Boolean](false)
MyRx.trigger {
// ...
jQuery("#page_content").css("opacity", 1)
}
不知何故我无法解决这个问题。我该如何解决?
这似乎有效:
MyRx.trigger {
// ...
jQuery("#page_content").css("opacity", 1)
()
}
但我肯定更喜欢这样的解决方案:
MyRx.trigger {
// ...
jQuery("#page_content").css("opacity", 1)
}: => Unit // doesnt compile
注意错误信息中的MyRx.trigger { () =>
。首先,您需要删除 () =>
部分(它也可能在 {
之后的下一行)。
=> Unit
因为参数类型是一个名字参数,它会自动将像 { ...; jQuery("#page_content").css("opacity", 1) }
这样的块变成 { () => ...; jQuery("#page_content").css("opacity", 1) }
.
在这种情况下,丢弃似乎并没有发生,您可以显式丢弃结果,例如作为
val _ = jQuery("#page_content").css("opacity", 1)
或
jQuery("#page_content").css("opacity", 1): Unit
如果要放在整个块上,语法会比较丑陋:
MyRx.trigger({
// ...
jQuery("#page_content").css("opacity", 1)
}: Unit)
我刚刚将 Scala.rx 版本 0.3.2 升级到 0.4.0,然后我的 trigger
s 突然出现以下错误:
overloaded method value trigger with alternatives:
[error] (f: Boolean => Unit)(implicit ownerCtx: rx.Ctx.Owner)rx.Obs <and>
[error] (thunk: => Unit)(implicit ownerCtx: rx.Ctx.Owner)rx.Obs
[error] cannot be applied to (() => org.scalajs.jquery.JQuery)
[error] MyRx.trigger { () =>
我所有的方法调用都是这样的:
import rx.Ctx.Owner.Unsafe._
val MyRx: Var[Boolean] = Var[Boolean](false)
MyRx.trigger {
// ...
jQuery("#page_content").css("opacity", 1)
}
不知何故我无法解决这个问题。我该如何解决?
这似乎有效:
MyRx.trigger {
// ...
jQuery("#page_content").css("opacity", 1)
()
}
但我肯定更喜欢这样的解决方案:
MyRx.trigger {
// ...
jQuery("#page_content").css("opacity", 1)
}: => Unit // doesnt compile
注意错误信息中的MyRx.trigger { () =>
。首先,您需要删除 () =>
部分(它也可能在 {
之后的下一行)。
=> Unit
因为参数类型是一个名字参数,它会自动将像 { ...; jQuery("#page_content").css("opacity", 1) }
这样的块变成 { () => ...; jQuery("#page_content").css("opacity", 1) }
.
在这种情况下,丢弃似乎并没有发生,您可以显式丢弃结果,例如作为
val _ = jQuery("#page_content").css("opacity", 1)
或
jQuery("#page_content").css("opacity", 1): Unit
如果要放在整个块上,语法会比较丑陋:
MyRx.trigger({
// ...
jQuery("#page_content").css("opacity", 1)
}: Unit)