2016-05-22 7 views
1

Polymer.dart 1.0のカスタムプロパティの値をクエリする方法を教えてください。polymer.dartカスタムプロパティ値のクエリ

私が持っている:

<style is="custom-style"> 
    my-element { 
    --my-color: #ffffff; 
    } 
</style> 

my-elementの子要素に渡すには、例えば、正常に動作します:

.header { 
    --paper-toolbar-color: var(--my-color); 
} 

しかし、どのように、私は道にmy-elementにダートから値を照会することができますすべてのブラウザで動作しますか?

私は$['header'].customStyle['--paper-toolbar-color']を試してみましたが、同じthisにも--my-colorのため、私は最初のダートからcustomStyleを設定しない限り、それは動作しませんしています。

私は

.header { 
    color: var(--my-color); 
} 

を設定し、その後$['header'].getComputedStyle().color;でこれを読み取ることによって、Chromeでそれを回避するために管理しているが、Firefoxは継承されたカラー値の代わりに、カスタムプロパティから1を返します。

アイデア?ありがとう!

答えて

0

現時点では、現在のところ、現在のコンポーネントで宣言されているCSS変数のみを読み込めますが、コンポーネント内からグローバルCSS変数を読み取ることはできません。

あなたは、ヘッダー・コンポーネントで、このお持ちの場合:

<style> 
    :host { 
    --my-color: #ffffff; 
    } 

    .header { 
    --paper-toolbar-color: var(--my-color); 
    } 
</style> 

を、あなたが

customStyle['--my-color'] 

でそれを読むことができそうでない場合は、あなたの問題を回避するには、移動するための方法です。

+0

返信いただきありがとうございます。しかし、残念ながら、 'this.customStyle [' - my-color'];'は宣言的に 'を設定するとnullを返します:' host {--my-color:#ffffff; } '。 – Arno

+0

これは、値が 'this.customStyle [' - my-color'] = 'someValue';を使用して設定されている場合にのみ機能するという別の問題があることを覚えていると思います。 –

+2

はい、動作しますが、残念ながら要素の外側から渡されたテーマの色を取得することができます。不動産を読む方法がないことは奇妙に思えますが、カスタムプロパティpolyfillはそれをどこかに隠しておく必要があります... – Arno

関連する問題