2016-11-10 10 views
1

私が達成したいのは、カスタム要素を持ち、親要素からこの要素に直接バインドするだけでなく、カスタム要素内からバインドすることです。Aurelia - カスタム要素内でのCSSバインディングのオーバーライド

親:

<div> 
    <custom-element css="height: ${heightProperty}"></custom-element> 
</div> 

カスタム要素:

<template css="width: ${widthProperty}"> 
</template> 

しかし、widthとheightプロパティを同時にバインドされることはありません。最後にバインドされた(変更された)ものだけが有効になります。しかし、クラスプロパティを設定するときにマージが機能するようです。このバグはどうですか?

+0

あなたは、これがバグまたは意図されている場合ので、私たちが議論することができ、バグなどのテンプレート結合レポにこれを投稿していただけません動作?ありがとう:-) –

+0

@AshleyGrantすべての正直なところでは、私は一番内側のバインディング(単一のプロパティ上)が単に内側をオーバーライドすると予想します。私はこれが 'class'プロパティで動作するという事実は' classList'が 'style'(オブジェクトです)ではなく配列(コレクションオブザーバを使う)の結果であるが、依然として意図しないもの、いいえ? –

答えて

3

これが正しいかどうかはわかりませんが、カスタム要素にバインド可能なCSSプロパティを追加するとどうなりますか?このよう

import { bindable } from 'aurelia-framework'; 
export class customElement { 
    @bindable() 
    css = ''; 
} 

、その後、あなたのHTML内

<template css="width: ${widthProperty} ${css}"> 
</template> 
+0

これは動作します。しかし、私はこれを回避策と考えています。 編集:しかし、