- From: Scott Miles <sjmiles@google.com>
- Date: Sun, 23 Jun 2013 12:11:43 -0700
- To: Bronislav Klučka <Bronislav.Klucka@bauglir.com>
- Cc: public-webapps <public-webapps@w3.org>
- Message-ID: <CAHbmOLZBkwGJ-cd4wN=st=ayNbLOG+3mwX6DPgPcJRRyh+QaaQ@mail.gmail.com>
To be clear, this question doesn't really have anything to do with the components spec. The bottom line from the spec is that the completion-value of the script should reference an object that will be used as the element prototype. How you generate that prototype is completely up to you, and there are many ways you can do it. See examples below. Fwiw, my team (http://www.polymer-project.org/) is not an advocate of the completion-value gambit. We are pushing for two-way initialization. In other words, a separate method to register the prototype. In any case, here are examples. You can use descriptors, but you don't need them for get/set: ({ readyCallback: function() { }, get foo() {}, set foo() {} }) if you really want to use descriptors, you can do Object.create(Object.prototype, { property: { get: function() { return 5; }, set: function(value) {} } }); or you can mix and match: var prototype = { readyCallback: function() { }, }; Object.defineProperty(prototype, { property: { get: function() { return 5; }, set: function(value) {} } }); prototype; On Sun, Jun 23, 2013 at 11:45 AM, Bronislav KluÄka < Bronislav.Klucka@bauglir.com> wrote: > > On 23.6.2013 20:42, Bronislav KluÄka wrote: > >> Hi, >> http://www.w3.org/TR/2013/WD-**components-intro-20130606/#** >> lifecycle-callbacks<http://www.w3.org/TR/2013/WD-components-intro-20130606/#lifecycle-callbacks> >> shows defining element methods, next to the life cycle it also shows >> definition of methods "ticks" and "chime", >> I wonder how this construct >> >> ({ >> >> }); >> >> is compatible with ES5 object properties descriptors, in ES5 it is >> possible to define getters and settes for properties/methods, is it the >> possible to do something like >> >> <element .....> >> ... >> <script> >> >> ({ >> readyCallback: function () { >> //init component >> }, >> }); >> >> Object.defineProperties(this.**prototype, { // or maybe >> Object.defineProperties(this, { >> "property": { >> "get": function() { return 5; } >> "set": function(value) {} >> } >> }); >> </script> >> >> </element> >> >> Will it work? Is it suppose to work? >> >> Brona >> >> >> > Of course I ment > Object.defineProperties(**ElementConsructorName.**prototype > > Brona > >
Received on Sunday, 23 June 2013 19:12:10 UTC