This issue imho comes mainly from the fact that the element docs generated via
iron-component-pageonly list the JS property names, but in many/most cases you will use the HTML attribute names in your markup that aren't listed anywhere.
Example from the
If you try to include this element in your page like this
it won't work because the
clientIdattribute will be mapped to a
clientidproperty that doesn't exist and
clientIdwill stay undefined.
The correct way to use the element would be:
So if you encounter issues with properties not getting the value you intended make sure your attribute names are correct.
Essentially the attribute name is converted to lower case first, and then dashes are converted to camelcase,
For those interested, here's the part of the Polymer library that takes care of translation between attribute names and property names:
And if you are really curious you can have a look at
Polymer.CaseMap._caseMapto see what mappings are being used on your site.