核心风格和类似乎不起作用

时间:2015-01-29 10:44:26

标签: dart polymer dart-polymer paper-elements core-elements

我想了解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'];

  }
}

以上代码无法呈现。

由于

1 个答案:

答案 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/