With Polymer, I have implemented a custom form, which is using polymer_signals.html
for listening to changes from arbitrary other polymer elements.
It is implemented like this:
<link rel="import" href="packages/polymer_elements/polymer_signals/polymer_signals.html">
<polymer-element name="user-settings" extends="form">
<template>
<polymer-signals on-polymer-signalauth-changed="{{onAuth}}"></polymer-signals>
...
This element is dynamically instantiated in a parent polymer element like this:
var userSettings = new Element.tag('form', 'user-settings');
$['main'].children.add(userSettings);
This raises the exception:
Exception: Concurrent modification during iteration: Instance(length:4) of '_GrowableList'._notify@0x1c4cf589 (http://127.0.0.1:3030/buddy/web/packages/polymer_elements/polymer_signals/polymer_signals.dart:39:12)
<anonymous closure> (http://127.0.0.1:3030/buddy/web/packages/polymer_elements/polymer_signals/polymer_signals.dart:49:12)
If I statically instantiate the polymer-form, I don't get this error. How can I prevent this?