En src/polymer-muestra-inicial-app/polymer-muestra-inicial-app.html, agrego un ligero estilo y una pequeña línea, de tal forma que el fichero queda de la siguiente forma:
<link href="../../bower_components/polymer/polymer-element.html" rel="import"></link>
<link href="/src/componentes/entradas/vt-entrada.html" rel="import"></link>
<link href="/src/componentes/etiquetas/vt-etiqueta.html" rel="import"></link>
<dom-module id="polymer-muestra-inicial-app">
<template>
<style>
:host {
display: block;
}
p,label {
background-color: aliceblue;
}
</style>
<h2>
Hello [[prop1]]!</h2>
<vt-entrada contenido="{{contenido}}"></vt-entrada>
<vt-etiqueta contenido="[[contenido]]"></vt-etiqueta>
Este es texto desde el componente padre polymer-muestra-inicial-app<br />
</template>
<script>
/**
* @customElement
* @polymer
*/
class PolymerMuestraInicialApp extends Polymer.Element {
static get is() { return 'polymer-muestra-inicial-app'; }
static get properties() {
return {
prop1: {
type: String,
value: 'polymer-muestra-inicial-app'
},
contenido:{
type: String,
value: 'Desde componente host'
}
};
}
}
window.customElements.define(PolymerMuestraInicialApp.is, PolymerMuestraInicialApp);
</script>
</dom-module>
Luego,
src/componentes/entradas/vt-entrada.html ha quedado de la siguiente forma: Y sí, sólo agregue un color de fondo y subrayado para el texto:<link rel="import" href="../../../bower_components/polymer/polymer-element.html">
<dom-module id="vt-entrada">
<template>
<style>
:host {
display: block;
}
p {
background-color: beige;
text-decoration: underline;
}
</style>
<input type="text" value="{{contenido::input}}">
<p> Este es nuestro contenido escribiente: [[contenido]]</p>
</template>
<script>
class VtEntrada extends Polymer.Element {
static get is() {
return 'vt-entrada';
}
static get properties() {
return {
contenido: {
type: String,
notify: true,
}
}
}
}
window.customElements.define(VtEntrada.is, VtEntrada);
</script>
</dom-module>
El resultado viene siendo elsiguiente:Que básicamente viene a confirmar que:
- Los estilos no suben desde un componente hijo a un componente padre. Lo que se esperaba pues. Esto se puede demotrar mejor si se elimina el estilo en src/polymer-muestra-inicial-app/polymer-muestra-inicial-app.html
- Parece que los estilos no bajan desde el componente padre al componente hijo. Esto se puede demostrar si se elimina el estilo en src/componentes/entradas/vt-entrada.html
Primer instalamos Pure mediante bower de la siguiente forma:
bower install pure --saveLuego, modificamos a src/index.html ara agregar los estilos de Pure:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1, user-scalable=yes">
<title>polymer-muestra-inicial</title>
<meta name="description" content="Breve descripción de mi persona">
<!-- See https://goo.gl/OOhYW5 -->
<link rel="manifest" href="/manifest.json">
<script src="/bower_components/webcomponentsjs/webcomponents-loader.js"></script>
<link rel="import" href="/src/polymer-muestra-inicial-app/polymer-muestra-inicial-app.html">
<link rel="stylesheet" href="/bower_components/pure/base.css">
<link rel="stylesheet" href="/bower_components/pure/grids.css">
<link rel="stylesheet" href="/bower_components/pure/grids-responsive.css">
</head>
<body>
<polymer-muestra-inicial-app></polymer-muestra-inicial-app>
</body>
</html>
Y hacemos la maquetación dentro de polymer-muestra-inicial-app en src/polymer-muestra-inicial-app/polymer-muestra-inicial-app.html de la siguiente forma:
<link rel="import" href="../../bower_components/polymer/polymer-element.html">
<link rel="import" href="/src/componentes/entradas/vt-entrada.html">
<link rel="import" href="/src/componentes/etiquetas/vt-etiqueta.html">
<dom-module id="polymer-muestra-inicial-app">
<template>
<style>
:host {
display: block;
}
p,label {
background-color: aliceblue;
}
</style>
<div class="pure-g">
<div class="pure-u-1 pure-u-md-2-5">
<h2>Hello [[prop1]]!</h2>
</div>
<div class="pure-u-1 pure-u-md-3-5">
<vt-entrada contenido="{{contenido}}"></vt-entrada>
<vt-etiqueta contenido="[[contenido]]"></vt-etiqueta>
<p>Este es texto desde el componente padre polymer-muestra-inicial-app</p>
</div>
</div>
</template>
<script>
/**
* @customElement
* @polymer
*/
class PolymerMuestraInicialApp extends Polymer.Element {
static get is() { return 'polymer-muestra-inicial-app'; }
static get properties() {
return {
prop1: {
type: String,
value: 'polymer-muestra-inicial-app'
},
contenido:{
type: String,
value: 'Desde componente host'
}
};
}
}
window.customElements.define(PolymerMuestraInicialApp.is, PolymerMuestraInicialApp);
</script>
</dom-module>
Que ahora se ve de la siguiente forma:Así que supongo que maquetar bien, descender clases bien, pero sobre los detalles específicos y generales de como va funcionando esto tendrán que ir esperando un poco más


No hay comentarios:
Publicar un comentario