現在、オンプレミスのSharePoint 2013環境で使用される既存の小さなAngular 1プロジェクトがあります。コンテンツの大部分は、Sharepoint環境の公開ページを使用しています。
Angular 1では、属性名、タグ名、コメント、クラス名の一致に制限するディレクティブを定義できます。作成したディレクティブのほとんどは属性またはタグ名でした。設定はタグ名でしたが、Sharepointの公開プラットフォームは不明な要素を削除します。つまり、ディレクティブをパブリッシュページに取り込むために属性を使用する必要がありました。ただし、Angular 2では、タグ名によって実装されるコンポーネントのみを確認しました。
Angular 2でコンポーネントを使用するために属性名を使用することは可能ですか?Sharepoint公開プラットフォームの制限により、これは私たちにとって必要条件です。
ありがとう。
はい、デコレータのselector
プロパティはCSSセレクタ(またはそのサブセット)です。@Component
selector
:'.cool-button:not(a)'
テンプレート内でこのディレクティブを識別するCSSセレクターを指定します。サポートされているセレクタが含まれ
element
、[attribute]
、.class
、と:not()
。親子関係セレクターはサポートされて
いません。出典: Angular Cheat Sheet / Directive Configuration、
@Component
継承。
そうすれば、次のように[name-of-the-attribute]
(つまり、CSS属性セレクター)を使用できます。
@Component({
selector: "[other-attr]",
...
})
export class OtherAttrComponent {
Se デモプランカーはこちら。
通常の方法は、CSSタイプ(別名要素またはタグ)セレクターです。
@Component({
selector: "some-tag",
...
})
そして、それはnameのタグにマッチしますsome-tag
。
タグまたは属性の両方に一致するコンポーネントを持つこともできます。
@Component({
selector: "other-both,[other-both]",
template: `this is other-both ({{ value }})`
})
export class OtherBothComponent {
デモプランカーには3つすべての例が含まれています。
され
[attributeName="attributeValue"]
サポートされていますか?
はい。しかし、引用を気にしてください。現在の実装では、セレクターは[attributeName="attributeValue"]
実際にと一致<sometag attributeName='"attributeValue"'>
するため、このアプローチに取り組む前にテストしてください。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加