我不知道从数据库中读取它。这超出了这个问题的范围(或者你需要重新表述这个问题)。也许是 AJAX 调用或其他什么?
但要从例如<input> 标记中读取它,您需要执行以下操作:
def main(): Unit = {
val msg = jQuery("#myinput").value()
appendPar(msg)
}
(虽然在这种情况下,它在 main 方法中可能没有任何意义,但这不是重点。)
我的意思是,msg 只是一个 val(就像 JS 中的 var 但不可变)。您可以根据需要从任何动态信息源中获取它。
编辑:
如果你想在渲染页面的时候访问一些服务器动态生成的数据,你可以这样做:
首先,让您的服务器在生成的 HTML 的 <script> 标记中将数据生成为全局 var。比如:
<script type="text/javascript">
var mydata = {
msg: "Some text generated dynamically by the server"
}
</script>
确保在调用Scala.js 的main() 函数之前发出此脚本标记!
然后,您可以从 Scala.js 使用js.Dynamic 接口访问这些数据:
import scala.scalajs.js
val mydata = js.Dynamic.global.mydata
val msg = mydata.msg.asInstanceOf[String]
如果您的数据始终具有相对静态的结构,则为它们声明自己a facade type 可能会很有用:
@JSName("mydata")
object MyData extends js.Object {
val msg: String = ???
}
然后您无需借助Dynamic API 即可访问它:
val msg = MyData.msg