Hi,

I'm using polymer in my project and it works well. Until recently I'm start 
create my CustomElement dynamically. Basically I define a template and a 
constructor so that I can create my CustomElement by constructor in script. 

I notice when I call the the constructor, the created and ready event will 
be triggered immediately. That makes me hard to adjust settings for 
CustomElement.

For example, I have the following template:

<polymer-element 
    name="fire-ui-unit-input" 
    constructor="FireUnitInput"
    >
<template>
<link rel="stylesheet" href="unit-input.css">


<input id="input"
    class="input"
    type="text"
    placeholder="-"
    ></input>
<span class="unit">{{unit}}</span>
</template>

<script>
    Polymer('fire-ui-unit-input', {
        publish: {
            value: null,
            unit: '',
            type: 'int', // int, float
            precision: 2,
            interval: null,
            min: null,
            max: null,
            focused: {
                value: false,
                reflect: true
            },
        },

        ready: function() {
            switch ( this.type ) {
                case 'int': 
                    this._min = (this.min!==null) ? parseInt(this.min) : 
Number.NEGATIVE_INFINITY;
                    this._max = (this.max!==null) ? parseInt(this.max) : 
Number.POSITIVE_INFINITY;
                    this._interval = (this.interval!==null) ? this.interval 
: 1;
                    break;
            }
        },
    }

</script>
</polymer-element>

And In some case I have to dynamically create this CustomElement like this:

var unitInput = FireUnitInput();
unitinput.unit = 'cm';
unitinput.type = 'float';

Since the constructor of my CustomElement immediately call ready(), I don't 
have a chance to pass unit and type attributes to it. In the code above, I 
have to manually call unitInput.ready() again or some other function to do 
the init stuff. 

My question is: is there a way to let the CustomElement's constructor 
receive attributes from code?

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/5e554576-0ddb-45b2-9f4d-3e38d8f4e326%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to