私はbindingContext
にプロパティを追加するカスタム属性を持っています。これにより、他のカスタム属性/要素がこのデータを利用できるようになります。Aurelia repeatは親スコープのカスタムプロパティを消去するようです
だから、例えば属性のバインド方法は、次のようになります。
bind(binding, scope) {
binding.someCustomProperty= this.value; // have tried using scope too
}
今、このカスタム属性の範囲内に含まれるもの、すなわち、正常に動作します:
<section my-attribute="something">
<input some-other-attribute="somethingElse">
</section>
だからセクションの属性セットを想定しbindingContext
プロパティの場合、some-other-attribute
はbindingContext
のプロパティにアクセスし、すべて機能します。
ただし、リピートを使用してリピートバインド内でsome-other-attribute
を使用したい場合は、bindingContext
にはsomeCustomProperty
がなくなります。それで、バインディング・コンテキストに追加し、繰り返しまたは他の子バインディングを通して永続する「正しい」方法がありますか?
華麗ああ、すべてのコンテキストがアクセス権を持っているか、デフォルトではので、その行くを与えます彼らの両親に(示されているように)? – Grofit
'foo.bind =" bar "'のようなことをすると、バインディングシステムはoverrideContextで 'bar'を探し、次にbindingContextで親のoverrideContextで親バインディングコンテキストで' bar'を探します。等々。 –
すべてのコンテキストがその親にアクセスできるわけではありません。たとえば、カスタム要素にはparentOverrideContextはありません。これにより、カスタム要素がカプセル化され、移植可能になります。彼らは外側の範囲にアクセスすることはできません。 –