我只是在尝试 Om,从基础教程中学习。
我的程序数据在一个原子中:app-state。
如果我将一个序列放入该原子中,例如。
(defonce app-state (atom {:things [1 2 3 4]}))
然后稍后,在我的渲染中,我可以得到一个光标
(let [things (:things data)] ... )
并映射它:
(map #(* % %) things)
但是,如果我有一个可以返回序列的方法的 defrecord:
(defrecord ThingCollection [xs]
IThingCollection
(getSeq [this] ... ) )
并将其放入应用程序状态
(defonce app-state (atom {:things (->ThingCollection [1 2 3 4]})))
...
(let [things (:things data)] ... )
我不能这样做:
(map #(* % %) (.getSeq things))
它只是抛出一个错误,说游标没有方法 .getSeq
那讲得通。但是,我怎样才能真正获得光标内的 ThingCollection 对象呢?我找不到任何这样的例子。我尝试过的任何东西似乎都没有给我。