- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有一些应用程序状态,在某个后端系统上维护。看起来像这样
data MyState = State1 MyState1 | State2 MyState2
data MyState1 = MyState1 { ms1_text :: Text, ms1_int :: Int }
data MyState2 = MyState2 { ms2_bool :: Bool, ms2_maybe_char :: Maybe Char }
getLatestState :: IO MyState
dynMyState :: MonadWidget t m => Dynamic t MyState
ms2_maybe_char
是
Nothing
,应该没有 div ,当
MyState
是
State1
,
State2
应该没有 div .
State1 (MyState1 "foo" 3)
<div class=MyState1>
<div>foo</div>
<div>3</div>
</div>
State2 (MyState2 False Nothing)
<div class=MyState2>
<div>False</div>
</div>
ms2_maybe_char
从
Nothing
更改至
Just 'a'
,则需要创建一个新的 div。或者如果
ms1_text
从
"foo"
更改至
"bar"
,那么我们需要在 DOM 中更改该字符串。但是,更改
ms1_text
绝不应该导致重绘兄弟节点或父节点。
getLatestState
,这是否可能? api作为构建 block ?通过尝试构建单个
Dynamic
,我是否完全错过了 Reflex 的意义?值(value),我需要重新考虑我的方法吗?
dyn
或
widgetHold
在这里,和
fmap
超过
dynMyState
的函数它可以将状态视为简单值并生成
m ()
绘制整个事物的 Action 。但是,然后我失去了所有的共享——整个 UI 将在每次状态更改时从头开始重新绘制。
最佳答案
答案取决于您的目标和要求。如果你想要最好的 dom 共享,源自两个独立的函数 renderState1
和 renderState2
, 我认为需要 virtual-dom
.
但实际上听起来你想对什么时候添加到 DOM 有一些精确的控制。
如果您修改了 renderState1
的版本,您可以做一些简单的事情。和 renderState2
手头各拿一个Maybe State1
或 Maybe State2
论点是构建一对这样的动态可能并使用 css 属性来隐藏一个或另一个:
let mState1 = (\c -> case c of
s@(State1 _ _) -> Just s
_ -> Nothing
) <$> dynMyState
mState2 = (\c -> case c of
s@(State2 _ _ _) -> Just s
_ -> Nothing
nothingHider a m =
let atr = bool mempty ("style" =: "displayNone") . isJust <$> a
in elDynAttr "div" atr (m a)
nothingHider mState1 renderMaybeState1
nothingHider mState2 renderMaybeState2
关于haskell - 如何有效地对 Reflex.Dynamic 中的值进行分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40497229/
我正在查看 ICE/STUN 规范并有一个问题。 如果我位于可能是全锥、受限或端口受限但不是对称 NAT 的 NAT 后面,并且考虑到我使用的是 UDP,那么在这种情况下,我的 SERVER REFL
我想执行一个基本的 Ajax 请求,仅此而已。 我使用 reflex 作为前端,使用 Scotty 作为后端。 Firefox Web 控制台告诉我请求成功,我在那里看到了预期的结果。但网站从Just
我刚开始使用 reflex-dom库,我无法弄清楚使用对话框的正确和方便的方法。 显示对话框通常意味着在 的末尾添加一些元素并在用户单击某个按钮、背景或按下时将其删除,例如逃脱。然而,从一些嵌套的小
这个类图是什么意思?自反关联的类图使用了实线和箭头,但这里换成了空心的菱形。它与递归有什么关系吗?这个类图会生成什么?如果能举个例子最好。另外这个递归关系应该是一对多的,存数据库怎么建表。 最佳答案
所以我刚刚发现了这个库,并认为它对于构建 UI 来说可能很棒。这是我在学习这个库时尝试实现的一个小练习。基本上,它尝试打开本地文件系统上的一个目录并显示该目录中的所有文件。它编译没有问题,但当我打开
在最简单的情况下,假设我有一个 Dynamic t Bool,当值为 true 时,我希望存在一个空的 div,而当值为 false 时,我不希望存在希望有任何 dom 元素。 更一般地说,如果我有一
假设我有一些应用程序状态,在某个后端系统上维护。看起来像这样 data MyState = State1 MyState1 | State2 MyState2 data MyState1 = MySt
我想使用 reflex-platform 中的工作脚本来编译一个项目,该项目到目前为止一直使用堆栈管理,如解释的那样 here . 在 stack.yaml 的包列表中,我引用了一个位于本地路径中的包
希望你们一切都好! 我读了很多关于这个问题的书,但没有找到对我有用的东西.. 说明背景: 我正在用go编写rest api,但此处显示的代码是出于可读性的伪代码。 我将docker与docker-co
这个小程序的目的是显示三个按钮,第三个按钮的标签最初是“0”,然后是最后一次点击按钮的索引。现在按钮的数量和其他按钮的标签是恒定的。 当我用 ghcjs 编译这个自包含文件并在浏览器中加载 Main.
使用 reflex-gi-gtk-0.2.0.0 时我可以从事件中访问动态: submitButtonE4 do path return "" -
我尝试使用 cabal install 安装 reflex 和 reflex-dom 我收到以下错误消息: $ cabal install reflex-dom ... cabal: The foll
main = mainWidget $ el "div" $ do let fileInputConfig = FileInputConfig (constDyn Map.empty)
以下代码将 reflex-dom 下拉元素直观地显示为列表框,并始终在底部显示最后选择(单击)的行。 {-# LANGUAGE OverloadedStrings #-} import
我在Eclipse Neon中使用了一个名为ObjectAid的插件,它是一个自动生成UML图的插件。 现在我理解了生成的 UML 中的所有内容,除了一件事,即箭头“~class instance”旁
我用`igraph包的layout.circle算法绘制了这个图。 左侧自环连接的一些标签并不清晰可见,因为它们放置在节点间边缘的后面。我可以应用任何调整来提高绘图的可读性而不改变标签的距离吗? (我
我正在 build (又一个)manual signalling WebRTC chat via DataChannels (CoffeeScript,对不起 JS 伙计们)。它在本地连接中工作正常,
我是一名优秀的程序员,十分优秀!