1
私は、単一のアイテムをレンダリングするために別の「ダム」コンポーネントを使用する「ダム」リストコンポーネントを取得しました。レンダラーにデータを渡したいときは、リストコンポーネントに同じプロパティがなければなりません。リストアイテムレンダラーを角度2で表示
list.template.html
<my-item-renderer *ngFor="let item of items" [showTimestamp]="showTimestamp"></my-item-renderer>
コンポーネントテンプレートの一部を置き換えるために何かをする方法はあります:たとえば、私はこれを行うには、私が得た項目の「showTimestamp」ブールプロパティを持つようにしたい場合は?
私はこのような何かしたいと思います:
<my-list [items]="items"><ng-content><item-renderer [showTimestamp]="true"></item-renderer></ng-content></my-list>
だから私のリストは、単に項目のプロパティを取得し、NG-コンテンツに既に設定されているshowTimestamp変数とレンダラを取得します。
実行時にコードを使用しているときに「TemplateRefのプロバイダがありません」というエラーが表示されます。 – NagRock
2番目と3番目のリンクはコンストラクタインジェクションの代わりに '@ContentChild(TemplateRef)templateRef:TemplateRef:TemplateRef;'を使用します。代わりにそれを試してみてください。それは私がこれを使っている間はしばらくです。 –
ありがとう! '@ContentChild(TemplateRef)templateRef:TemplateRef;'が動作しています。 – NagRock