2016-09-02 6 views
0

入力とそのすべてのDOM構造を表すHTML専用のカスタム要素を作成しました。HTML専用のカスタム要素(Aurelia)で双方向バインド可能なプロパティを指定する方法

テンプレートにバインド可能なプロパティを設定して、要素に値を入力しました。しかし、私はバインディングが双方向であることを指定する方法は見当たりません。

要素:

<template bindable="label,name,placeholder,value"> 
    <div class="form-group"> 
     <label class="control-label col-sm-2" for.bind="name">${label}</label> 
     <div class="col-sm-7 col-md-6"> 
      <input class="form-control" id.bind="name" placeholder.bind="placeholder" value.bind="value" /> 
     </div> 
    </div> 
</template> 

私は要素が使用されるたびに(例えば<my-element value.bind="firstName & twoWay"></my-element>を結合双方向を指定することができます知っているが、私が作成し、別のを維持しなくてもデフォルトを設定したいですクラス(つまり、私はこのような場合のためのhtmlのみの要素が好き)。

が可能これますか?

答えて

2

私はそれが簡単な方法で可能ではないと思う。私が意味する、あなたが上書きする方法を見つけ出すことができ何らかの形でデフォルトの動作([source][source])がありますが、いくつかのクラスを維持して終了する可能性があります。

Documentationはそのことについて明確である:

あなたも、あなたのHTMLのみのカスタム要素にバインド可能なプロパティを持つことができます。これらのプロパティのデフォルトは一方向のデータバインディングですが、カスタム要素にバインドするときにバインド方向を明示的に設定することはできますが、デフォルトを変更することはできません。

私の意見では、.two-way明示的なバインディングを使用するのが最も簡単なオプションです。

<my-element value.two-way="firstName"></my-element>

関連する問題