Dan, It certainly should update the content here. Can you post a full gist of that illustrates the issue and I will try to reproduce it.
Creighton On Wed, Apr 2, 2014 at 6:32 PM, Daniel Kersten <[email protected]> wrote: > Hi, > > I've been playing with kioo and love it, but I'm a bit confused by > snippets (vs components). I took a look at the code and I can't quite > figure out how to use value-component (and therefore snippet) properly. > > Basically, if I have static content then snippet/defsnippet works fine, > but if I want to change this content later, then using snippet does not > properly update the components (I'm assuming because the "value" check in > should update in value-component does not pass?). Using component works in > this case. > > For example: > > test.html: > <div></div> > > (def list-item [app owner] > (om/component > (kioo/component "test.html" [:div] > {[:div] (content app)}))) > > (def list-component [app owner] > (om/component > (om/build-all list-item (:values app)))) > > Where the state passe to list-component is {:values ["A" "B" "C" "D"]}, > this outputs: > <div>A</div><div>B</div><div>C</div><div>D</div> > > Then changing the state to {:values ["X" "Y"]} outputs as expected: > <div>X</div><div>Y</div> > > However, if instead of kioo/component I use defsnippet, it does not work > as expected: > > (defsnippet list-item "test.html" [:div] > [x] > {[:div] (content x)}) > > (def list-component [app owner] > (om/component > (map list-item (:values app)))) > > With the same state, this outputs as expected: > <div>A</div><div>B</div><div>C</div><div>D</div> > > However, when changing the state to {:values ["X" "Y"]} it outputs: > <div>*A*</div><div>*B*</div> > > That is, it changes the number as expected, but does not change the > content. > > Can somebody explain why and what the expected way of using defsnippet is? > I can simply use kioo/component and everything works just fine, but I'd > like to understand more of kioo. > > Thanks, > Dan. > > -- > 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 [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/clojurescript. > -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/clojurescript.
