The bug has to do with unreachable paths, e.g.

var foo = {};

foo.bar.baz; // throws in JS. In TemplateBinding/polymer-expressions, this
path should evaluate to undefined (not throw). This was broken, but the
referenced bug fixes it.


On Thu, Jan 16, 2014 at 11:02 AM, Rob Eisenberg <[email protected]
> wrote:

> Can you explain the actual issue? When it's fixed, will I get control over
> the bind function again? or will it just fix the toString issue?
> A related question....since I'm using individual pollyfills, what's the
> best way to keep up with changes and keep my dependencies up to date? I'm
> guessing I should just track each individual repo...
>
>
> On Thu, Jan 16, 2014 at 1:40 PM, Eric Bidelman <[email protected]> wrote:
>
>> There's a bug:
>> https://groups.google.com/forum/?fromgroups=#!topic/polymer-dev/SPbOamjlbhc
>>
>> Should be fixed in the next push (likely today).
>>
>>
>> On Thu, Jan 16, 2014 at 9:13 AM, Rob Eisenberg <
>> [email protected]> wrote:
>>
>>> 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.
>>>
>>
>>
>
>
> --
> Rob Eisenberg,
> President - Blue Spire
> www.durandaljs.com
>
> 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/CAMsr9Pnam_Wz%2BgZ69PdN4WhxKFVG8pJFX7YWkEgNFs5YydJyZQ%40mail.gmail.com
> .
>
> For more options, visit https://groups.google.com/groups/opt_out.
>

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/CABMdHiQFuNtihFagGYNS8Ym-jogg9f9XmtZ6oX6MU0ST0gxMTA%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to