アウレリアの<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
に基づくカスタム要素に渡す最も良い方法は何ですか?私のソリューションと
編集:最後に
、アウレリアの<compose>
のみview
、view-model
とmodel
属性で動作することが表示されます。私が面白いんでしたが、あなたがmodel.bind
を使用するときに、あなたがする必要がないということです
<compose view-model="resources/elements/${control.type}/${control.type}"
model.bind="{'control': control, 'model': model, 'readonly': readonly}">
</compose>
:私のソリューションは、すべてのデータ(単一のオブジェクトとして渡された複数の項目することができます)このようなを渡すことです@bindable
デコレータを使用してパラメータを受信します。それらはビュー内ですぐに利用可能です。
を実行します@ 「」でバインド可能なパラメータと、ビュー専用のelemビューは外側スコープに接続されていますが、ビューモデルを持っている場合は、 'model.bind'で渡す必要があります。 –
LStarky