"Урожай" не работает в обязательном порядке. Scala
Несколько дней назад я прочитал о binding.scala и нашел его таким классным, поэтому решил написать свое собственное одностраничное приложение.
Проблема в том, что я пытаюсь добавить элементы "li" в элемент "ul", но кажется, что компонент Want не видит обновлений.
Код ниже:
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>
} Однако код не работает.
1 ответ
Пожалуйста измените for (movie <- movies.value)
в for (movie <- movies)
,
По методу Скаладока стоимости:
Примечание. Этот метод нельзя вызывать внутри
@dom
тело метода.