On Wed, Jul 30, 2014 at 10:12 AM, cletusw <[email protected]> wrote:

> I haven't tried to use TemplateBinding standalone, so I can't really
> address your first set of issues, but with regard to Intuitiveness:
>
>
> 1. Where does the shadow dom start? Is that what the template element
> does? Is template synomonous with shadow dom?
>
> 2. What is the template element for? Can I have multiple template elements
> at that level?
>
>
> Yes, when your element is instantiated, Polymer stamps out the contents of
> the first *<template>* tag inside your *<polymer-element>* into the
> Shadow DOM. That's stated here
> <http://www.polymer-project.org/docs/polymer/databinding.html#template>. This
> means that re #2, you can place as many template tags as you want inside
> your *<polymer-element>*, but Polymer will only stamp out the first one
> for you. You could very well add additional template tags with IDs and
> stamp them out manually from your lifecycle callback code.
>
>
> 3. How does it know which script tag is the polymer element definition
> script tag? Does it care? Why is that script tag inside the polymer
> element? Is it in the shadow dom? or the global scope? It appears the
> global scope? In which case, why is it inside the <polymer-element> element?
>
>
> It doesn't know. That script tag is just a plain ol' script tag (in the
> global scope, like you noticed). It's usually placed inside the
> *<polymer-element>* for convenience
> <http://stackoverflow.com/q/24857675/1431146>, but it could very well be
> outside <http://jsbin.com/dunefifu/1/edit?html,output> or even in a separate
> file
> <http://www.polymer-project.org/docs/polymer/polymer.html#altregistration>.
> Polymer just waits until it's seen a *<polymer-element name="my-name">* tag
> and a *Polymer('my-name', {})* call from anywhere then defines a new
> element using the contents of both.
>
>
> 4. What if I don't want to use shadow dom for my custom element? But I
> still want the model change listeners, the auto binding, etc?
>
>
> There used to be a *lightdom* attribute
> <https://groups.google.com/d/topic/polymer-dev/SyRhkUTuHDU/discussion> for
> this, but it was removed, probably for reasons stated here
> <https://groups.google.com/d/msg/polymer-dev/G50Kf349Af8/ApReQw_rOB0J>.
> You could probably find a way to use Polymer's auto-binding template
> <http://www.polymer-project.org/docs/polymer/databinding-advanced.html#autobinding>
>  inside
> your custom element. If not, you can still create your own custom elements
> without Polymer and directly use the observe-js polyfill
> <https://github.com/Polymer/observe-js> and TemplateBinding library
> <https://github.com/Polymer/TemplateBinding/> to get what you want
> (although you did mention that TemplateBinding doesn't seem to be the
> easiest thing to use as a standalone library).
>
>
> 5. The this.$.elementID helper doesn't seem to find dynamicly created
> elements (e.g. an element created from the results of an ajax request), it
> should just be removed imho
>
>
> This is probably the case first and foremost for performance reasons, but
> it also makes sense in terms of Polymer's vision. Instead of adding an
> element to your Shadow DOM imperatively (using JavaScript), Polymer gives
> your markup superpowers
> <http://www.polymer-project.org/docs/polymer/databinding.html> so it can
> represent the full set of states of your element. In the rare case that you
> still need access to dynamically generated elements, you can still use
> vanilla javascript:
> *this.$.myStaticNode.querySelector('.dynamicallyGeneratedContent')*.
>

There's a feature request tracking this:
https://github.com/Polymer/TemplateBinding/issues/177


>
>
> 6. How come when I include jQuery inside the template, then I create
> another script to use jQuery, it can't find jQuery? Nor can I access it via
> this.jQuery or any other way I could think of, E.g.
>
>
> Not sure exactly what's going on here, but it looks like *<script>* tags
> inside *<polymer-element>* templates are loaded asynchronously ($ is
> available when the page finishes loading, just not when your *<script>* tag
> runs), but the standard practice is for a *<polymer-element>* to specify
> its external dependencies *outside* its element definition, which makes
> your code work fine <http://jsbin.com/jeqabozo/1/edit?html,output>. (You
> could even create an HTML Import for your external dependency
> <http://stackoverflow.com/a/22155729/1431146> and Polymer would
> automatically dedupe that resource, preventing it from being loaded
> multiple times by different components)
>
> Em terça-feira, 29 de julho de 2014 22h56min46s UTC-6, Benjamin Lupton
> escreveu:
>
>> I did up this gist today with some feedback, or rather questions about
>> Polymer:
>> https://gist.github.com/balupton/47fb659790b178f566ff
>>
>> I've been using Polymer on and off for most of the year now, but I'm
>> still struggling to understand how exactly it operates, why certain things
>> are the way they are, and how I can actually workaround it's nuances that
>> the shadow dom creates.
>>
>> I really find Polymer quite amazing, it's focus on HTML means that the
>> app you prototype is your production app, this is amazing and something
>> javascript-only-libraries can't compete with. I'd love to continue to use
>> it.
>>
>  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/4ee07c92-f525-4e54-a521-d2870c702c00%40googlegroups.com
> <https://groups.google.com/d/msgid/polymer-dev/4ee07c92-f525-4e54-a521-d2870c702c00%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/CACGqRCDAtXkb0dPoGDXi_mdkRQ4U0XjF4a6yghWc%2BOtN9scodw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to