Hopefully this explains it a little better: http://jsbin.com/mikexeluwixe/1/edit
On Friday, September 5, 2014 1:35:28 PM UTC-4, Scott Miles wrote: > > It's not entirely clear what kind of stuff you want to pass in via > `attrs`. Live code will help us figure out the details of your use case, so > below is just a starting place. > > As described, you can only pass in static data anyway, so I would start > like so: > > http://jsbin.com/kibife/2/edit > > <polymer-element name="custom-pager"> > > <!-- for simplicity, let's leave out the template for now --> > > <script> > Polymer({ > changePage: function(elementname, attrs) { > var page = document.createElement(elementname); > for (var k in attrs) { > page.setAttribute(k, attrs[k]); > } > > // discard old page > > this.textContent = ''; > this.appendChild(page); > } > }); > </script> > </polymer-element> > > <script> > addEventListener('polymer-ready', function() { > document.querySelector('custom-pager').changePage('my-page1', {attr1: > 'boundvarfromelsewheredotcom'}); > }); > </script> > > > > On Fri, Sep 5, 2014 at 10:08 AM, Paul Hodges IV <[email protected] > <javascript:>> wrote: > >> HI! I've created a <custom-pager> element which dynamically creates >> polymer-element instances on the fly (instead of having to preload >> elements.) Ex (note, this is concept only, probably has bugs): >> >> <polymer-element name="my-page1" attributes="attr1" noscript> >> <template> >> Page1 {{attr1}} >> </template> >> </polymer-element> >> >> <polymer-element name="my-page2" attributes="attr2" noscript> >> <template> >> Page 2 {{attr2}} >> </template> >> </polymer-element> >> >> >> <polymer-element name="custom-pager"> >> <template></template> >> <script> >> Polymer({ >> changePage(elementname, attrs) { >> //...other code >> var div = document.createElement('div'); >> div.innerHTML = '<' + elementname + '></' + elementname + '>'; >> for(var k in attrs) { >> div.children[0][k] = attrs[k]; >> } >> this.appendChild(div); >> } >> }); >> </script> >> </polymer-element> >> >> >> <custom-pager></custom-pager> >> <script> >> window.addEventListener('polymer-ready', function() { >> document.querySelector('custom-pager').changePage('my-page1', {attr1: >> '{{boundvarfromelsewheredotcom}}'}); >> }); >> </script> >> >> The issue is, i dont know which attributes the developer, using my >> custom-pager, needs to be passed + bound into the page "my-page1". >> >> Question is, is there a way to have custom-pager automagically bind to >> all attributes so that they can be passed on to the pages (so one could >> specify <custom-pager attr1="{{attr1value}}" attr2="{{attr2value}}"/> )? >> Or is there a way to publish the attribute (per element instance, not >> prototype) on-the-fly (which would look like <custom-pager >> attr1="{{attr1value}}" attr2="{{attr2value}}" bindToAttributes="attr1 >> attr2"/> )? >> >> Thanks peeps! >> >> p4 >> >> 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] <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/polymer-dev/c649f93b-e859-4c07-8735-1c89c6fc0882%40googlegroups.com >> >> <https://groups.google.com/d/msgid/polymer-dev/c649f93b-e859-4c07-8735-1c89c6fc0882%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > 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/fb3c9645-9fcb-434a-9057-72ac68aca53b%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
