gpt4 book ai didi

elm - 邮箱不在范围内

转载 作者:行者123 更新时间:2023-12-04 08:48:27 25 4
gpt4 key购买 nike

我正在尝试使用 elm 和 elm-router 创建一个前端,以管理路由。

我有这个主文件:

-- Main.elm
import Router exposing (Route, match, (:->))
import History exposing (path)
import Routing as Routing exposing (route)
import Signal exposing ((<~))
import Html exposing (Html)
import Signal exposing (Mailbox, mailbox, Signal)
import Task exposing (Task)
import Test as Test exposing (pathChangeMailbox)

main : Signal Html
main = route <~ path

port runTask : Signal (Task error())
port runTask =
pathChangeMailbox.signal

这个模块来处理一个邮箱。我可以逐页使用邮箱,但它很难看,所以我尝试制作一个模块来处理所有常见代码。
module Test where

import Signal exposing (Mailbox, mailbox, Signal)
import Task exposing (Task)

pathChangeMailbox : Mailbox (Task error ())
pathChangeMailbox = mailbox (Task.succeed())

我还有一个模块 Routing列出路线并将操作与它们相关联。

这是处理菜单和导航的模块。
module Menu where

import Html exposing (a, text, Html, div)
import Html.Events exposing (onClick)
import Task exposing (Task)
import History exposing (setPath)
import Test as Test exposing (pathChangeMailbox)

display : String -> Html
display _ =
div []
[
a []
[ onClick Test.pathChangeMailbox.address (setPath "/CV.elm") ]
[ text "Mon CV" ]
]

当我尝试运行该程序时,出现以下错误:
Error in .\src\Menu.elm:

Error on line 14, column 22 to 47:
Could not find variable 'Test.pathChangeMailbox.address'.

Looks like the prefix 'Test.pathChangeMailbox' is not in scope. Is it spelled correctly?
Is it imported correctly?

You can read about how imports work at the following address:

你知道吗,为什么即使我导入 Test模块一直在说 Test.pathChangeMailbox不在范围内?

编辑:添加 Routing.elm
module Routing where

import Html exposing (Html, div, text, br)
import Signal exposing (Mailbox, mailbox, Signal)
import Task exposing (Task)
import Router exposing (match, (:->), Route)

-- Import displays
import CV as CV exposing (display)
import Home as Home exposing (display)

route : Route Html
route = match
[
"/src/Main.elm" :-> Home.display
, "/CV.elm" :-> CV.display
] display404

display404 : String -> Html
display404 url =
div []
[
text "Erreur 404"
, br [] []
, text ("url : " ++ url ++ " not found.")
]

最佳答案

我想你在这里发现了一个错误。你应该 file an issue .
编辑:good job :) 链接摘要:问题来自混合 .用于合格的模块访问和记录访问。

现在有一个解决方法,导入不合格的名称并不合格地使用它。注意我还删除了一个额外的 [] :

@@ -4,13 +4,13 @@ import Html             exposing (a, text, Html, div)
import Html.Events exposing (onClick)
import Task exposing (Task)
import History exposing (setPath)
import Test as Test exposing (pathChangeMailbox)

display : String -> Html
display _ =
div []
[
- a []
- [ onClick Test.pathChangeMailbox.address (setPath "/CV.elm") ]
+ a
+ [ onClick pathChangeMailbox.address (setPath "/CV.elm") ]
[ text "Mon CV" ]
]

(菜单.榆树)

关于elm - 邮箱不在范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30052431/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com