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.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to