0

我正在将地图的键值打印到 html,而键名称空间正在消失,这是我不想要的。

layout下面调用打嗝的html5渲染:

(layout (str "Path " (:path/title path))
  [:h1 "Title: " (:title path) slug]
  [:p (str path)]       ; prints "{:db/id 17592186045542, :path/title "sdf"}"
  (println (keys path)) ; prints in terminal "(:db/id :path/title)"
  [:p (keys path)]      ; prints "idtitle" 
  (for [[k v] path] [:p k " " v]) ; prints "id 17592186045542" /n "title sdf" 
  (map (fn [[k v]] [:p k " " v]) path)))) ; same as above

(keys path)for&map调用中,键的 ":db/" 和 ":path/" 命名空间都不会呈现。为什么?

4

1 回答 1

2

我想这些键是隐式named 的,这与你在它们上显式使用的好案例不同str

也许你应该使用

[:p (str k) " " (str v)]

或者简单地说:

[:p (str/join " " [k v])]
于 2020-08-09T07:52:47.910 回答