Versuchen, mit Polymer-Framework für mein kleines Projekt zu geifern. Polymer dom-Wiederholungsfehler des Arrays innerhalb des Objekts ParsenPolymer dom-repeat Fehler beim Analysieren des Arrays innerhalb des Objekts
Im Folgenden finden Sie den Code ein Aufruf
<paper-tabs scrollable selected={{selected}}>
<template is="dom-repeat" items="{{rooms}}">
<paper-tab>{{item.name}}</paper-tab>
</template>
</paper-tabs>
<iron-pages selected="{{selected}}">
<template is="dom-repeat" items="{{rooms}}">
<div> <port-config room-config="{{item}}"></port-config> </div>
</template>
</iron-pages>
</template>
<script>
Polymer({
is: "rooms-config",
properties: {
selected: {
type:Number,
value: 0,
},
rooms: {
type: Array,
value: function() {
var testData = [
{
name: "Room1",
maxPorts: 16,
ports:{
type: Array,
value: function() {
var testData = [
{portName: "Port 1",portStatus: "true"},
{portName: "Port 2",portStatus: "true"},
{portName: "Port 3",portStatus: "true"},
{portName: "Port 4",portStatus: "true"},
];
return testData;
}
}
}
}
}
});
Es folgt mein Port-config Erklärung
<template>
<paper-material elevation="-1">
<template is="dom-repeat" items="{{roomConfig.ports}}">
<div class="container">
<div class="flexchild">{{item.portName}}</div>
<div class="flex1child">
<paper-toggle-button toggles checked$="{{item.portStatus}}"></paper-toggle-button>
</div>
<div class="flex1child"><iron-icon icon="icons:settings"></iron-icon></div>
</div>
</template>
</paper-material>
</template>
<script>
Polymer({
is: "port-config",
properties: {
roomConfig: {
type: Object,
value: function() {
return {};
}
}
}
});
</script>
Mit diesem Setup ich Störung erhalte [dom-repeat :: dom-repeat]: erwartetes Array für items
, gefunden Objekt {}
Dank ein Ton Mario. Ich folgte dem [Link] (https://www.polymer-project.org/1.0/docs/devguide/properties) und es zeigte die Erklärung wie folgt. Überrascht. Eigenschaften: { Benutzer: { Typ: Array, Wert: Funktion() { Return []; } } – rcreddy
Hat es jetzt funktioniert? Ich habe nie bemerkt, dass es Beispiele in der Polymer-Dokumentation gibt, die die Werte auf diese Weise verwenden ... irgendwie komisch. Nun, als vielleicht kannst du den Wert per Funktion deklarieren, aber ich sehe niemanden, der das so erklärt ... wenn ja, könnte alles nur um diese eine Klammer gehen, die du verpasst hast. – MarioAleo
Die Funktion für Wert ist nur für 'Object' und' Array'. Sie können dies [link] (http://stackoverflow.com/questions/38811194/why-use-function-wrap-for-ppolymer-property-value-of-type-object) für weitere Details überprüfen. – a1626