Ich hätte gerne einige Ideen, wie man einen font-size
dynamisch auf einen setzt (d. H. font-size
von JS anstelle von CSS).Polymerelemente ShadowDOM Kindknoten - Stilattribute dynamisch setzen
- In der Dokumentation gibt es kein Standardattribut für die Schriftgröße.
- Es sieht so aus, als ob es nur über ein Mixin gesetzt werden kann (welches nicht über JS geändert werden kann).
Zum Beispiel <paper-textarea>
‚s DOM-Baum sieht wie folgt aus:
<paper-textarea>
- ShadowDOM beginnt
<div>
<div>
<div>
<textarea>
< - Dies ist der eigentliche Textarea
Gibt es eine Möglichkeit, das Kind-Knoten zum Ziel darin shadowDOM über JS ist und setzen Sie es Stil ist direkt?
Ein Beispiel, das natürlich nicht funktioniert.
- I Eigenschaft binden
fontSize
zum<paper-textarea>
- Da es
fontSize
kein Attribut ist für dieses bestimmte Element zu setzen, funktioniert es nicht.
<base href="https://polygit.org/components/">
<script src="webcomponentsjs/webcomponents-lite.min.js"></script>
<link href="polymer/polymer.html" rel="import">
<link href="paper-input/paper-textarea.html" rel="import">
<link href="paper-button/paper-button.html" rel="import">
<dom-module id="x-example">
<style>
:host {
display: block;
max-width: 320px;
}
</style>
<template>
<paper-textarea label="Textarea" value="{{inputData}}" font-size="{{fontSize}}"></paper-textarea>
<paper-button class="primary" on-tap="incrementFontSize">Increment Font Size</paper-button>
</template>
<script>
HTMLImports.whenReady(function() {
"use strict";
Polymer({
is: "x-example",
properties: {
\t inputData: {
type: String,
value: "Hello World"
},
fontSize: {
type: Number,
value: 16
}
},
incrementFontSize: function() {
this.set("fontSize", this.fontSize + 4);
}
});
});
</script>
</dom-module>
<x-example></x-example>
Idealerweise würde ich einen fontSize
Beobachter einrichten und imperativ die <paper-textarea>
‚s Child-Knoten Ziel es ist gesetzt Stil, wenn fontSize
Änderungen.
Wie kann ich diese Knoten zielen?
Hinweis: Ich würde einen "offiziellen" Weg bevorzugen, wenn es existiert. Die Polymer-Spezifikation ändert sich oft und schwache Hacks neigen dazu, beim Aktualisieren der Bibliothek zu brechen.
Das tat es, danke :) - Hoffe, es macht Ihnen nichts aus, dass ich Ihren Beitrag bearbeitet habe, um ein funktionierendes Snippet aufzunehmen auch. –