アウレリアの<compose>
エレメントについての簡単な質問です。次のように、カスタム要素をフォーム コントロールとして挿入するために使用したいと考えていました。
<!-- Loop through form controls -->
<div class="form-group" repeat.for="control of controls">
<label><span t="${control.label}"></span></label>
<compose view-model="resources/elements/${control.type}/${control.type}"
value.bind="control.value" data.bind="control.data" placeholder.bind="control.placeholder"></compose>
</div>
ただし、要素が,およびパラメータの<compose>
受け入れのみに制限されているように見え始めています。あれは正しいですか?、、などのパラメータをに基づいてカスタム要素に渡す最良の方法は何ですか?model
view-model
view
value
data
placeholder
control.type
私のソリューションで編集:
結局、Aureliaは,および属性<compose>
でのみ動作するようです。私の解決策は、次のようにすべてのデータを渡すことです(複数のアイテムを単一のオブジェクトとして渡すことができます)。view
view-model
model
<compose view-model="resources/elements/${control.type}/${control.type}"
model.bind="{'control': control, 'model': model, 'readonly': readonly}">
</compose>
私が興味深いと思ったのは、 を使用する場合、パラメータを受け取るためにデコレータをmodel.bind
使用する必要がないことです。@bindable
ビューですぐに使用できます。