Angular: 不明なプロパティ(Aria属性など)にバインドすると、エラーが発生します。

作成日 2015年09月27日  ·  3コメント  ·  ソース: angular/angular

Aria属性などの不明なプロパティにバインドすると、エラーが発生します。 例えば:

<a class="cell-anchor " [aria-expanded]="isFirstError(error)" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-{{error.id}}" aria-expanded="false">

テンプレートにこのコードが含まれているコンポーネントがロードされると、次の例外が発生します。

例外:「ariaExpanded」は「 」要素の既知のプロパティではなく、対応するプロパティと一致するディレクティブがないため、「ariaExpanded」にバインドできません。

結局のところ、aria属性にはダッシュが含まれていることが多いため、実際には正しくないariaExpandedに変換しています(おそらく、私が知らないエスケープメカニズムがありますか? ')。 ただし、これは根本的な原因ではありません。不明なものにバインドすると同じ問題が発生するためです。

例外:「foo」は「 」要素の既知のプロパティではなく、対応するプロパティと一致するディレクティブがないため、「foo」にバインドできません。

プランカーが必要な場合はお知らせください。プランカーを作成します。

最も参考になるコメント

DOM要素にはaria-expanded _ property_がありません。そのような名前の_attribute_のみがあります。 属性にバインドする場合は、その名前の前にattr.を付ける必要があります(例: [attr.aria-expanded]="isFirstError(error)"

したがって、エラーは正しく、存在しないプロパティへのバインドは効果がないため、不明なプロパティをスローする必要があります。これは、ほとんどの場合、ユーザーエラーです。

全てのコメント3件

DOM要素にはaria-expanded _ property_がありません。そのような名前の_attribute_のみがあります。 属性にバインドする場合は、その名前の前にattr.を付ける必要があります(例: [attr.aria-expanded]="isFirstError(error)"

したがって、エラーは正しく、存在しないプロパティへのバインドは効果がないため、不明なプロパティをスローする必要があります。これは、ほとんどの場合、ユーザーエラーです。

かっこいい、私はattr.プレフィックスを知りませんでした。 GAに移行するときはいつでも、これを明確に文書化する必要があります。

ただし、バインディングがattr.プレフィックスを見逃した場合に、メッセージを改善する機会があると思います。 このようなものを印刷できれば、ドキュメントも必要ありません。

* _EXCEPTION: 'foo'は ' '要素の既知のプロパティではなく、対応するプロパティと一致するディレクティブがないため、 'foo'にバインドできません。 * _

この問題は、このメッセージの改善を追跡するために使用できます。

この問題は、非アクティブのために自動的にロックされています。
同様の問題または関連する問題が発生した場合は、新しい問題を提出してください。

自動会話ロックポリシーの詳細をご覧ください。

_このアクションはボットによって自動的に実行されました。_

このページは役に立ちましたか?
0 / 5 - 0 評価