【问题标题】:How to fix the red mark that appears when using binding.scala in intellij?如何修复在intellij中使用binding.scala时出现的红色标记?
【发布时间】:2019-05-28 12:30:19
【问题描述】:

我正在使用 scalajs 和 binding.scala 进行开发。我将 IDE 用作 Intellij。但是,在 Intellij 中使用 dom 宏时,会出现以下红色标记。当我使用输入元素中id的属性值作为宏时出现这个错误如何解决?

当你使用输入元素的id属性值作为marco时,会出现这个错误(a.k.a."cannot resolve symbol something")。

请看下面的图片链接。

this is my code image.

 @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>
}

【问题讨论】:

  • 刚刚看到 Visual Studio Code 和 Metals Extension 有效。
  • 谢谢。 Visual Studio Code + Metals 扩展怎么样?他们比 Intellij 更好吗?
  • 你必须自己尝试——还有很多我想念的东西——所以我实际上是并行使用它们;)
  • 哦,我已经试过了,我也喜欢你。谢谢你:)

标签: scala scala.js binding.scala


【解决方案1】:

您可以利用传入的 scalaJS Event,可能类似于:

oninput={ev: Event =&gt; name.value = ev.target.asInstanceOf[HTMLInputElement].value}

【讨论】:

    【解决方案2】:

    其实我也有同样的问题。我有两种处理方式:

    1. 忽略这些异常 - 因为它们只是 IntellIJ 中的问题 (它编译得很好)。
    2. 像这样使用例如JQuery:

      import org.scalajs.jquery.jQuery 
      ..
      jQuery("#showCheckbox").value()
      

      一旦你的 id 变得更加动态 - 无论如何你都需要这样的东西(至少我知道这是这样的;)) -> jQuery(s"#${elem.id}").value()

    【讨论】:

    • 谢谢。但不幸的是,我已经以与您第一次相同的方式进行操作。这让我很生气。
    • @terdong 我也是;) 所以我切换到 2. 可能性。但当然,如果有更优雅的解决方案,我也很乐意接受;)
    • 是的。 jQuery很方便。但我认为 jQuery 太重了。而且越来越多的趋势是不使用。因此我没有在这个项目中使用 jQuery。总之,我忍不住等待下一个解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    • 2021-04-15
    • 2018-09-02
    • 2017-01-04
    • 2021-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多