I had a pretty nice custom element system build on the pollyfills 
from Stable release 2013-11-07  When I updated to 0.1.2, everything broke. 
I've been going throughout, fixing things bit by bit, but now I'm to a 
point where I'm wondering if there's something wrong with Polymer. It seems 
as if custom element binding are being evaluated before the element is 
upgraded. I'm not sure about that, but I can't explain the behavior I'm 
seeing any other way. Here's my custom element test code:

var proto = Object.create(HTMLElement.prototype);

proto.createdCallback = function () {
    this.customAttributes = {};
    console.log('created');
};

proto.attachedCallback = function() {
    console.log('attached');
};

proto.bind = function(name, value, oneTime) {
    console.log('bind', name, value, oneTime);
};

proto.setAttribute = function(name, value) {
    console.log('setAttribute', name, value);
};

proto.attributeChangedCallback = function(attrName, oldVal, newVal) {
    console.log('attribute changed', attrName, oldVal, newVal);
};

Object.defineProperty(proto, 'something', {
    get: function () {
        return this.customAttributes['something'];
    },
    set: function (val) {
        this.customAttributes['something'] = value;
        console.log('something change', value);
    }
});

document.registerElement('dx-test', { prototype: proto });

Then I use it inside of one of my templates like this:

<dx-test something="{{someProperty}}"></dx-test>

When I do this, the only callback that is fired is *createdCallback * and 
by then it seems to have already parsed the bindings out. This prevents me 
from having any custom *bind* logic and even from reliably getting the 
value of my own property. If *something* is not a primitive value, then 
attribute's value is the result of *toString().*

Am I doing something wrong here? Is this a bug?

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].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to