我正在使用scalajs和binding.scala进行开发。我正在使用IDE作为Intellij。但是,在Intellij中使用dom宏时,会出现以下红色标记。当我在输入元素中使用id的属性值作为宏时出现这个错误。解决方案是什么?
此错误(也称为当您使用输入元素的id属性值作为marco时,会出现"cannot resolve symbol something“。
请看下面图片的链接。
@dom
def render: xml.Elem = {
val name: _root_.com.thoughtworks.binding.Binding.Var[_root_.java.lang.String] = Var.apply("Binding.scala")
val show: _root_.com.thoughtworks.binding.Binding.Var[Boolean] = Var.apply(false)
<div>
<p>
<label for="showCheckbox">
<input type="checkbox" id="showCheckbox" onchange={e: Event => show.value = showCheckbox.value }/>
<span> Say hello to <input id="nameInput" value={name.value} oninput={_: Event => name.value = nameInput.value}/></span>
</label>
</p>
{
if (show.bind) {
<p>
Hello, {name.bind}!
</p>
} else {
<!-- Don't show hello. -->
}
}
</div>
}发布于 2019-01-02 03:14:31
实际上我也有同样的问题。我有两种方法来处理它:
导入org.scalajs.jquery.jQuery ..jQuery("#showCheckbox").value()
一旦您的id变得更加动态,您无论如何都需要这样的东西(至少据我所知;) -> jQuery(s"#${elem.id}").value().
发布于 2020-09-02 10:32:00
您可以利用传入的scalaJS Event,可能如下所示:
oninput={ev: Event => name.value = ev.target.asInstanceOf[HTMLInputElement].value}
https://stackoverflow.com/questions/53996512
复制相似问题