-
impure run 사용하기web/mhtml 2021. 10. 28. 00:15
코드
import mhtml._ import org.scalajs.dom import scala.scalajs.js object MHtmlTest { def view(): Unit = { val x: Var[List[String]] = Var(List("a", "b", "c")) val first: Var[String] = Var("Z") // x.map(list => first := list.head).impure.run(_ => ()) x.impure.run(list => first := list.head) val content = <div> <div>{first}</div> <input type="text" oninput={ (e: js.Dynamic) => x.update(list => e.target.value.asInstanceOf[String] :: list) } /> </div> mount(dom.document.getElementById("main_content"), content) } }
설명
impure 는 일회성 effect 가 아니라 Rx 값이 변경될 때마다 값이 전파된다.
하단의 input 에 값을 넣으면, 위의 a 가 입력한 값으로 변경되는 것을 확인할 수 있다.
'web > mhtml' 카테고리의 다른 글
javascript callback 처리 하기 - radio button (0) 2022.01.03 mhtml Rx 이해하기 - Ajax 호출시 경험 (0) 2021.10.27 mhtml 에서 imitate 로 Var 값에 Rx 복사하기 (0) 2021.10.25 javascript callback 처리 하기 - checkbox (0) 2021.10.25 javascript callback 처리 하기 - dropdown (0) 2021.10.25