几天前,我读到了关于binding.scala的文章,发现它太酷了,所以我决定自己编写一个页面应用程序。
问题是,我试图在"ul“元素中添加"li”项,但似乎希望看不到更新。
守则如下:
case class Movie(title: Var[String], raring: Var[Int], watched: Var[Boolean])
var movies = Vars.empty[Movie]
@dom def Want = {
println(movies.bind, "!@#!@#!@#!")
<div class="want">
<ul>
{for (movie <- movies.value) yield {
<li>
<div>
<span>
{movie.title.bind}
</span>
<button onclick={event: Event => {
event.preventDefault()
movies.value.remove(movies.value.indexOf(movie))
println(movies.value)
}}></button>
</div>
</li>
}}
</ul>
</div>当我改变电影时,什么都不会发生。
更新
在下面的注释之后,我更新了代码:
def remove(movie:Movie) = {
movies.value.-=(movie)}
@dom def Want = {
println(movies, "!@#!@#!@#!")
<div class="want">
<ul>
{for (movie <- movies.bind) yield {
<li>
<div>
<span>
{movie.title.bind}
</span>
<button onclick={event: Event => {
event.preventDefault()
remove(movie)
}}></button>
</div>
</li>
}}
</ul>
</div>}但是,代码不起作用。
发布于 2017-08-22 13:05:03
https://stackoverflow.com/questions/45816942
复制相似问题