【发布时间】:2021-01-14 02:26:57
【问题描述】:
我有一个Vars 绑定语句,就像这样
val data: Vars[Contact] = Vars.empty[Contact]
我正在尝试显示元素的数量,如下所示:
<div>{data.all.bind.size}</div>
但这会产生一个复杂的错误
type mismatch;
[error] found : com.thoughtworks.binding.Binding[App.this.data.All[App.this.Contact]]
[error] (which expands to) com.thoughtworks.binding.Binding[scala.collection.mutable.Buffer[_ <: App.this.Contact]]
[error] required: com.thoughtworks.binding.Binding[scala.collection.mutable.Buffer[_$6]] where type _$6 <: App.this.Contact
[error] {this.data.all.bind.size}</div>
如何做到这一点?
更新
尝试使用String 作为Vars 绑定的类型,结果相同
type mismatch;
[error] found : com.thoughtworks.binding.Binding[App.this.data.All[String]]
[error] (which expands to) com.thoughtworks.binding.Binding[scala.collection.mutable.Buffer[_ <: String]]
[error] required: com.thoughtworks.binding.Binding[scala.collection.mutable.Buffer[_$6]] where type _$6 <: String
[error] {this.data.all.bind.size}</div>
请注意,我使用的是 Scala.js 1.2、Scala 2.13.3 和
libraryDependencies += "org.lrng.binding" %%% "html" % "latest.release"
不幸的是,无法提供 scalafiddle,因为它不支持 Scala 2.13,而是我在这里创建了一个副本项目-
https://www.dropbox.com/s/i9dpsa9pz0lejtj/bindingreplica.tar.gz?dl=0
【问题讨论】:
-
您能提供
Contact的描述吗?或者请通过将Contact替换为String来简化示例并检查结果。我检查了Vars.all.bind.size绑定和更合适的Vars.length.bind,两者都有效(请参阅此处scalafiddle.io/sf/IL27nGa/1)。 -
不,同样的结果```类型不匹配; [错误] 发现:com.thoughtworks.binding.Binding[App.this.data.All[String]] [错误](扩展为)com.thoughtworks.binding.Binding[scala.collection.mutable.Buffer[_ ``` 请注意,我正在使用 Scala.js 1.2、scala 2.13.3 和
libraryDependencies += "org.lrng.binding" %%% "html" % "latest.release",不幸的是,不能使用 scalafiddle,因为它不支持 Scala 2.13 -
Vars.all.bind中的打字问题现已在 github.com/ThoughtWorksInc/Binding.scala/pull/302 中修复
标签: scala binding.scala