@@ -21,12 +21,18 @@ declare namespace Polymer {
21
21
* or more property accessors (getter/setter pair) that enqueue an async
22
22
* (batched) `_propertiesChanged` callback.
23
23
*
24
- * For basic usage of this mixin, simply declare attributes to observe via
25
- * the standard `static get observedAttributes()`, implement `_propertiesChanged`
26
- * on the class, and then call `MyClass.createPropertiesForAttributes()` once
27
- * on the class to generate property accessors for each observed attribute
28
- * prior to instancing. Last, call `this._enableProperties()` in the element's
29
- * `connectedCallback` to enable the accessors.
24
+ * For basic usage of this mixin:
25
+ *
26
+ * - Declare attributes to observe via the standard `static get observedAttributes()`. Use
27
+ * `dash-case` attribute names to represent `camelCase` property names.
28
+ * - Implement the `_propertiesChanged` callback on the class.
29
+ * - Call `MyClass.createPropertiesForAttributes()` **once** on the class to generate
30
+ * property accessors for each observed attribute. This must be called before the first
31
+ * instance is created, for example, by calling it before calling `customElements.define`.
32
+ * It can also be called lazily from the element's `constructor`, as long as it's guarded so
33
+ * that the call is only made once, when the first instance is created.
34
+ * - Call `this._enableProperties()` in the element's `connectedCallback` to enable
35
+ * the accessors.
30
36
*
31
37
* Any `observedAttributes` will automatically be
32
38
* deserialized via `attributeChangedCallback` and set to the associated
0 commit comments