The following works:
(let [new-services (conj @services {:name (str "New " (inc (count @services)))})]
(om/update! services new-services))
the following doesn't
(om/transact! services conj {:name (str "New Service ")})
and gives me:
Uncaught Error: Vector's key for assoc must be a number.
Why ?
--
Note that posts from new members are moderated - please be patient with your first post.
---
You received this message because you are subscribed to the Google Groups "ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clojurescrip...@googlegroups.com.
To post to this group, send email to clojur...@googlegroups.com.
Visit this group at http://groups.google.com/group/clojurescript.
(om/transact! services (fn [services] (conj services {:name (str "New service")})))
transact! is a bit different from swap because it is more focused on updating just a part of the map that is the app state.
> The versions of om/transact! are:
>
> (om/transact! cursor function)
> (om/transact! cursor path function)
> (om/transact! cursor path function tag)
>
> Note that it's not like swap! where you can pass additional arguments to function after the function.
>
I'm trying to understand the line in the documentation that says:
om.core/transact! can be given additional args to pass to f.
This implies there is a multiple arity variant of transact! ? What is meant by this line in the docs, as I've never seen any examples of it.
Andrew