Использование необъявленной переменной var из пространства имен, но эта переменная существует
У меня есть это определение в myapp.core (core.cljs):
(def router
(reitit/router [["/" {:name :foo :view #'foo}]])
)
А в myapp.events (events.cljs) я использую его так:
{:dispatch [:common/navigate (reitit/match-by-path myapp.core/router "/browse")]}
Но получаю ошибку:
{:dispatch [:common/navigate (reitit/match-by-path myapp.core/router "/browse")]
--------------------------------------------------------------------^-----------
Use of undeclared Var myapp.core/router
--------------------------------------------------------------------------------
1385 | }
Почему это могло быть?
1 ответ
Поскольку вы используете полное имя myapp.core/router
Я предполагаю, что у вас нет надлежащего требования для этого пространства имен в вашем ns
форма.
Вы должны иметь (:require [myapp.core])
в этом нс, желательно с :as
псевдоним и используя это. Запрещается "жульничать" с использованием полного имени.