我如何才能将 Maybe 转换为 Value?
How Can i Get to transform a Maybe to a Value?
我的代码有问题我正在尝试编译它但它抛出我无法匹配 Maybe Element 与 Element
为什么? Maybe 如何工作?如何将其转换为值?为什么 monads 和 functor 这么难理解,
为什么没有一个简单的库可以让一些新手开始使用纯脚本?
:P
(不明白的我只问前3个)
module Main where
import Prelude --(Unit, bind, pure, ($), (<$>))
import Effect (Effect)
import Data.Maybe --(Just,Maybe,fromJust, fromMaybe)
import Data.Foldable (traverse_)
import Effect.Console (log)
import Web.HTML (window)
import Web.HTML.Window (document)
import Web.HTML.HTMLDocument (toNonElementParentNode)
import Web.Event.Event (Event, target)
import Web.HTML.HTMLInputElement (value, fromEventTarget)
import Web.DOM.NonElementParentNode (NonElementParentNode,getElementById)
import Web.DOM.Node (setTextContent)
import Web.DOM.Element (Element,toNode)
import Web.Event.EventTarget (addEventListener)
pname = "#inputName" :: String
bname = "#badgeName" :: String
main :: Effect Unit
main = do
nod1 <- returnNonElementParentNode
--querySelector :: QuerySelector -> ParentNode -> Effect (Maybe Element)
elementTarget <- getElementById pname nod1
--addEventListener :: EventType -> EventListener -> Boolean -> EventTarget
addEventListener "input" updateBadge false elementTarget
updateBadge :: Event -> Unit
updateBadge event = do
nod2 <- returnNonElementParentNode
elementTarget <- getElementById bname nod2
tget <- target event
inml <- fromEventTarget tget
input <- value inml
badge <- toNode (pure elementTarget)
if not(badge == Nothing)
then setTextContent input (toNode badge)
else Nothing
returnNonElementParentNode :: Effect NonElementParentNode
returnNonElementParentNode = do
win <- window
doc <- document win
--let nd = toNonElementParentNode doc
let
nod = toNonElementParentNode doc
pure nod
我只想了解如何从 htmlInputElement 获取输入值并将其传递给另一个 HTMLElement 的 textContent
几乎如何将 Maybe 转换为 Value 以传递给 toNode 函数
- 模式匹配...https://github.com/purescript/documentation/blob/master/language/Pattern-Matching.md
- Data.Maybe#v:也许……https://pursuit.purescript.org/packages/purescript-maybe/4.0.1/docs/Data.Maybe#v:maybe
- Data.Maybe#v:fromMaybe ... https://pursuit.purescript.org/packages/purescript-maybe/4.0.1/docs/Data.Maybe#v:fromMaybe
- Partial.Unsafe#v:unsafePartial + Data.Maybe#v:fromJust https://pursuit.purescript.org/packages/purescript-partial/2.0.1/docs/Partial.Unsafe#v:unsafePartial https://pursuit.purescript.org/packages/purescript-maybe/4.0.1/docs/Data.Maybe#v:fromJust
我的代码有问题我正在尝试编译它但它抛出我无法匹配 Maybe Element 与 Element
为什么? Maybe 如何工作?如何将其转换为值?为什么 monads 和 functor 这么难理解, 为什么没有一个简单的库可以让一些新手开始使用纯脚本? :P
(不明白的我只问前3个)
module Main where
import Prelude --(Unit, bind, pure, ($), (<$>))
import Effect (Effect)
import Data.Maybe --(Just,Maybe,fromJust, fromMaybe)
import Data.Foldable (traverse_)
import Effect.Console (log)
import Web.HTML (window)
import Web.HTML.Window (document)
import Web.HTML.HTMLDocument (toNonElementParentNode)
import Web.Event.Event (Event, target)
import Web.HTML.HTMLInputElement (value, fromEventTarget)
import Web.DOM.NonElementParentNode (NonElementParentNode,getElementById)
import Web.DOM.Node (setTextContent)
import Web.DOM.Element (Element,toNode)
import Web.Event.EventTarget (addEventListener)
pname = "#inputName" :: String
bname = "#badgeName" :: String
main :: Effect Unit
main = do
nod1 <- returnNonElementParentNode
--querySelector :: QuerySelector -> ParentNode -> Effect (Maybe Element)
elementTarget <- getElementById pname nod1
--addEventListener :: EventType -> EventListener -> Boolean -> EventTarget
addEventListener "input" updateBadge false elementTarget
updateBadge :: Event -> Unit
updateBadge event = do
nod2 <- returnNonElementParentNode
elementTarget <- getElementById bname nod2
tget <- target event
inml <- fromEventTarget tget
input <- value inml
badge <- toNode (pure elementTarget)
if not(badge == Nothing)
then setTextContent input (toNode badge)
else Nothing
returnNonElementParentNode :: Effect NonElementParentNode
returnNonElementParentNode = do
win <- window
doc <- document win
--let nd = toNonElementParentNode doc
let
nod = toNonElementParentNode doc
pure nod
我只想了解如何从 htmlInputElement 获取输入值并将其传递给另一个 HTMLElement 的 textContent
几乎如何将 Maybe 转换为 Value 以传递给 toNode 函数
- 模式匹配...https://github.com/purescript/documentation/blob/master/language/Pattern-Matching.md
- Data.Maybe#v:也许……https://pursuit.purescript.org/packages/purescript-maybe/4.0.1/docs/Data.Maybe#v:maybe
- Data.Maybe#v:fromMaybe ... https://pursuit.purescript.org/packages/purescript-maybe/4.0.1/docs/Data.Maybe#v:fromMaybe
- Partial.Unsafe#v:unsafePartial + Data.Maybe#v:fromJust https://pursuit.purescript.org/packages/purescript-partial/2.0.1/docs/Partial.Unsafe#v:unsafePartial https://pursuit.purescript.org/packages/purescript-maybe/4.0.1/docs/Data.Maybe#v:fromJust