首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用命名空间中未声明的var,但var存在

使用命名空间中未声明的var,但var存在
EN

Stack Overflow用户
提问于 2020-06-25 08:17:59
回答 1查看 184关注 0票数 1

我在myapp.core (core.cljs)中有这个def:

代码语言:javascript
复制
(def router 
    (reitit/router [["/" {:name :foo :view #'foo}]])
)

在myapp.events (events.cljs)中,我是这样使用它的:

代码语言:javascript
复制
{:dispatch [:common/navigate (reitit/match-by-path myapp.core/router "/browse")]}

但是我得到了一个错误:

代码语言:javascript
复制
{:dispatch [:common/navigate (reitit/match-by-path myapp.core/router "/browse")]
--------------------------------------------------------------------^-----------
 Use of undeclared Var myapp.core/router
--------------------------------------------------------------------------------
1385 |            }

为什么会这样呢?

EN

回答 1

Stack Overflow用户

发布于 2020-06-25 15:10:26

由于您使用的是全名myapp.core/router,因此我假设您在ns表单中对该名称空间没有适当的要求。

您必须在该ns中使用(:require [myapp.core]),最好使用:as别名。不允许使用全名“作弊”。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62565972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档