Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Vugu: Go+WebAssemblyでつくる Omikuji-Go

Avatar for Misato Kawano Misato Kawano
July 20, 2024
38

Vugu: Go+WebAssemblyでつくる Omikuji-Go

Avatar for Misato Kawano

Misato Kawano

July 20, 2024
Tweet

Transcript

  1. Vuguのコード, JSの部分に Goを書くのダヨ <div> <div vg-if="c.message != nil"> <p vg-html="c.message"></p>

    </div> </div> <script type="application/x-go"> import "hoge" type Root struct { message string } func (c *Root) hogehoge() { c.message = "hogehogehoge" } </script> 構造体 コンポーネントの状態管理 Vueのdataに相当 関数 Computedに相当 Watchに相当するもの はないけど実装は可 ディレクティブ
  2. GoからDOM要素にアクセスできたりする <div> <canvas width="300" height="100" vg-js-populate="c.canvasPopulate(value)" ></canvas> </div> <script type="application/x-go">

    type Root struct {} func (c *Root) canvasPopulate(value js.Value) { drawCtx := value.Call("getContext", "2d") drawCtx.Set("font", "30px Arial") drawCtx.Call("strokeText", "Hello from Vugu!", 10, 50) } </script>