我想了解core-style
。我注意到在我到目前为止看到的所有示例中,只有core-style
中引用了像Button这样的元素 - 没有类引用(例如.blue
)。我试图在core-style
中放置一个类引用,但它不会呈现。请参阅下面的示例
html的
<link href='../../../../packages/polymer/polymer.html' rel='import' >
<link href='../../../../packages/core_elements/core_style.html' rel='import' >
<polymer-element name='blue-theme'>
<template>
<core-style id='blue-theme'>
:host {
background-color: red;
.lb-container1 {
background-color: {{lb50}};
padding-top: 5px;
padding-bottom: 5px;
width: {{width}}
}
}
</core-style>
</template>
<script type='application/dart' src='blue_theme.dart'></script>
</polymer-element>
.dart
import 'package:polymer/polymer.dart';
import 'package:epimss_shared/epimss_shared_client.dart' hide DataEvent;
@CustomTag( 'blue-theme' )
class BlueTheme extends PolymerElement
{
String topic = '';
@observable String lb50 = LightBlue['50'];
@observable String lb100 = LightBlue['100'];
@observable String lb200 = LightBlue['200'];
BlueTheme.created() : super.created();
@published
String get width => readValue( #width );
set width(String value) => writeValue( #width, value );
@override
void attached()
{
super.attached();
topic = this.dataset['topic'];
}
}
以上代码无法呈现。
由于
答案 0 :(得分:0)
您只创建了一个<core-style>
生产者(提供可重复使用的样式)。你还需要一个<core-style>
消费者。
<core-style ref="blue-theme"></core-style>
我自己没有使用它,但我认为只需添加此行即可解决问题。您可以将生产者和消费者放在不同的元素中。这是元素的重点。定义一次样式并仅通过引用重用它。
到目前为止,本教程看起来很不错https://pascalprecht.github.io/2014/08/01/sharing-styles-across-web-components-with-polymer-and-core-style/