小编Tha*_*les的帖子

在reflex-dom中,如何将值从动态传递到外部javascript函数(FFI)

我是Haskell和反射的新手,但真的很喜欢这种语言.我一直在使用https://github.com/hansroland/reflex-dom-inbits/blob/master/tutorial.md来学习,这非常有帮助.

我目前正在尝试创建一个函数,它接受动态并创建一个元素,并在每次动态值发生变化时调用FFI函数.这是我正在尝试做的简化版本.

{-# LANGUAGE OverloadedStrings #-}
import Data.Text as T
import qualified GHCJS.DOM.Types as GDT
import GHCJS.Types
import Reflex.Dom

foreign import javascript safe
  "$1.value = $2"
  testSet :: JSVal -> JSVal -> IO()

testTB :: DomBuilder t m => Dynamic t T.Text -> m ()
testTB dt = do
  (e, _) <- elAttr' "input" ("type" =: "text") blank
  bob <- (testSet (GDT.pToJSVal e) . GDT.pToJSVal) <$> dt
  return ()

main = mainWidget $ testTB $ constDyn "Hello World!" …
Run Code Online (Sandbox Code Playgroud)

haskell ffi reflex

5
推荐指数
1
解决办法
229
查看次数

标签 统计

ffi ×1

haskell ×1

reflex ×1