Ich verwende die neueste 2.0-preview
Version von Polymer. Ich möchte Standardeigenschaften festlegen, und die Polymer-Dokumentation beschreibt how to do it in Polymer 1.x. Ich konnte bei diesem Ansatz keine Änderungen für v2.0 finden. Aber es scheint nur für primitive Eigenschaften zu arbeiten und nicht Objekte:Warum funktionieren die standardmäßigen verschachtelten Polymerwerte nicht?
"use strict";
class NewElement extends Polymer.Element {
static get is() {
return 'new-element';
}
static get config() {
return {
properties: {
user: {
// type: Object, <-- doesn't help anyway
firstName: {
type: String,
value: "John",
// observer: '_callObserver' <-- FYI observers don't work properly too if this usage...
},
lastName: {
type: String,
value: "Doe"
}
},
position: {
type: String,
value: "Waiter" // <-- will set a high-level default value properly correctly
}
},
// observers: [
// '_callObserver(user.*)' <-- ...but works using this approach
// ]
}
}
constructor() {
super();
console.dir(this); // <-- see screenshots below
// this.user = { firstName: "John", lastName: "Doe" }; <-- works if initialized manually
}
}
customElements.define(NewElement.is, NewElement);
Wie Sie here sehen kann, gibt ein Getter ist, und wenn ich darauf klicke, sehe ich, dass user
field is undefined.
Was mache ich falsch?
Ja, es funktioniert, danke! Ich versuche zu verstehen, wie man mit Polymer-Datensystem arbeitet, und es scheint, dass ich verschachtelte Eigenschaftsdeklarationen benötigen würde, wenn ich eine komplexe Anwendung erstelle. Vielleicht weißt du - ist das das potentielle Problem oder nicht? Haben Polymer irgendwelche Pläne, diese Erklärungen zu unterstützen? –
@SergeyNovikov Kein Problem :) Soweit ich weiß, gibt es keine Pläne dafür. Aber was versuchst du zu tun? Wenn Sie Untereigenschaften beobachten wollen, ist das schon möglich mit [komplexe Beobachter] (https://www.polymer-project.org/1.0/docs/devguide/observers#complex-observer) (zB 'Beobachter: ['_firstNameChanged (user.firstName) '] '). – tony19
Beachten Sie auch, dass die [Data system concepts] (https://www.polymer-project.org/1.0/docs/devguide/data-system) -Dokumente im Allgemeinen nützlich zum Lesen sind (falls Sie es noch nicht gesehen haben). – tony19