2016-04-26 6 views
0

ページにカスタム要素があり、カスタム要素からapp.jsの変数にアクセスする必要があります。必要なデータをカスタム要素にバインドする唯一の方法はありますか?Aureliaのカスタム要素の変数にアクセスするにはどうすればよいですか?

<custom-element data.bind="data"></custom-element> 

私が尋ねる理由は、私は複数のカスタム要素を作成するために、ループを実行していますし、そのような各カスタム要素に5つの変数をバインドしたくないということです。別の方法があるかどうか尋ねるだけですか?

+0

カスタム要素外側の範囲に。だから私はいいえと言うだろう。外側の範囲にアクセスできるを使用してカスタム要素をレンダリングすることができます。 –

+0

Bah、私はそれをしたくなかった。定期購読はできますか?私はどのように手がかりを持っていないが、Aureliaのサイトの文書でそれについて何かを見た。\ – seroth

+0

それはあなたがやりたいことに依存するが、要素のそれぞれをバインドするのが正しい方法だと思う。 –

答えて

2

カスタム要素のテンプレートは外側スコープにアクセスできません。これは設計によるものです。カスタム要素が確実に移植可能になります。これは、<div>,<a>などの標準的な要素の動作を反映しています。これらの要素はどこにでも使用できます。データを渡す唯一の方法は、その属性を使用することです。あなたがしっかりと結合するために外側のビューモデルにカスタム要素が必要な場合

は、あなたがこのような何かを行うことができます:

<custom-element app.bind="$this"></custom-element> 

をが、これは推奨されないアクセスを持っていない

+1

Jeremy、「これはおすすめしていません」と忘れてしまった。 –

関連する問題