Getting The List Of Polymer Published Properties
Solution 1:
It's best to use element.publish
to get the list of published properties for an element. (In polymer 1.0 element.properties
does the same).
element.getAttribute('attributes)
won't include the publish properties that are setup in a publish
block.
Solution 2:
You can access the element definition (i.e. the polymer-element
itself) through the element
property. So
document.querySelector('sample-component')
.element.getAttribute('attributes')
gives you 'foo1 foo2'
(btw. inside an element you can simply write this.element
.)
Be aware that this only works after Polymer has registered and processed all elements, so depending on where you want to use this statement, you may have to put it into a polymer-ready
event handler:
<script>addEventListener('polymer-ready', function() {
console.log(document.querySelector('sample-component')
.element.getAttribute('attributes'));
});
</script>
Update:
If you want to get a list of all published properties (i.e. the ones in the attributes
attribute plus the ones of the publish: {}
property), you can use
Object.keys(document.querySelector('sample-component').publish)
which gives you ['foo1', 'foo2']
.
Post a Comment for "Getting The List Of Polymer Published Properties"