If I understand things correctly, the children of the inner-element never changes. Composition does not cause any DOM mutations.
On Thu, Feb 27, 2014 at 7:28 PM, Sergey Shevchenko <[email protected]>wrote: > Hi all, > > The context for this is Polymer Dart, but @jmesserly thinks this is > probably a generic Shadow DOM + Mutation Observers question, so I'm asking > here. > > I'm trying to observe mutations in the distributed content of a <content> > tag as follows: > > @CustomTag(inner-element') > class MyElement { > void enteredView() { > new MutationObserver((m, o) => print("content changed")).observe(this > , childList: true); > } > }; > > That works when I use it like this: > > <inner-element> > <template repeat="{{x in xs}}"> > {{x}} > </> > </> > > But it breaks when there is another element that wraps around and > reprojects its distributed content into <inner-element>: > > <polymer-element name="outer-element"> > <template> > <inner-element> > <content></content> > </inner-element> > </> > </> > > <outer-element> > <template repeat="{{x in xs}}"> > {{x}} > </> > </> > > InnerElement does not see the changes in the xs. What it is the right way > to observe them? Ideally, I'd like it to be generic, i.e. working for both > cases above. As a less preferred option, I could implement a special case > for when the distributed content is a reprojected <content> from the > embedder. > > I could of course add a second MutationObserver to OuterElement and explicitly > tell InnerElement to update whenever a mutation happens, but it seems to me > that this defies the whole idea of MutationObservers. > > Thanks, > --Sergey > > Follow Polymer on Google+: plus.google.com/107187849809354688692 > --- > You received this message because you are subscribed to the Google Groups > "Polymer" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/polymer-dev/0994645a-acef-4867-a4d9-5379e21ae2bc%40googlegroups.com<https://groups.google.com/d/msgid/polymer-dev/0994645a-acef-4867-a4d9-5379e21ae2bc%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/groups/opt_out. > -- erik Follow Polymer on Google+: plus.google.com/107187849809354688692 --- You received this message because you are subscribed to the Google Groups "Polymer" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/polymer-dev/CAJ8%2BGog30fZ7MfKJLLjnoWTxjz8P4N9XoZWdi62ADOh8AmdjrA%40mail.gmail.com. For more options, visit https://groups.google.com/groups/opt_out.
