我有以下类型的动作:
type Action = ActionA A.SubAction | ActionB B.SubAction
其中A和B有两种不同的类型,每种类型都有一个SubAction类型。
我想使用' case'来实现一种方法。根据地址参数的类型执行操作。
view : Signal.Address Action -> Html
view address =
case address of
Signal.Address (ActionA action_a) ->
...
Signal.Address (ActionB action_a) ->
...
不幸的是,我收到以下错误:
Cannot find pattern `Signal.Address`.
The qualifier `Signal` is not in scope.
有人可以帮我看看我做错了吗?
答案 0 :(得分:1)
您无法使用case语句将Action
拉出地址参数。 signature of Address
是
type Address a =
Address (a -> Task () ())
如果您的view
功能需要知道上次执行的操作,您可能最好在lastAction : Action
上添加Model
字段,然后在{{ 1}}。