Vorrei accedere al contenuto di ng-content, per iniziare solo per ottenere un conteggio degli elementi di contenuto, ma con più meraviglie in seguito.Come accedo al contenuto di ng?
Ad esempio:
@Component({
selector: 'my-container',
template: `
<div class="my-container">
<div class="my-container-nav"><a class="my-container-previous"></a></div>
<div class="my-container-body">
<div class="my-container-items">
<ng-content></ng-content>
</div>
</div>
<div class="my-container-nav"><a class="my-container-next"></a></div>
</div>
`
})
export class MyContainer implements AfterContentInit {
@ContentChildren(???) containerItems : QueryList<???>;
ngAfterContentInit() {
console.log('after content init: ' + this.containerItems.length);
}
}
Quello che faccio a mettere come tipo per i bambini di contenuti?
Potrebbero essere qualsiasi cosa. Ho provato ElementRef, ma non ha funzionato e ho sempre dato un conteggio pari a zero.
Esempio di utilizzo:
<my-container>
<div>some content here</div>
<another-component [title]="'another component there'"></another-component>
<div>there's lots of content everywhere</div>
<span>no assumptions would be fair</span>
</my-container>
mi sarei aspettato di vedere 'dopo il contenuto init: 4'.
I componenti Angular2 dei bambini che controlli (ad es. vuoi accedere alle istanze del componente)? O semplicemente HTML? – Sjoerd
Sjoerd, potrebbe essere un mix. Mi aspetto html casuale, ma mi aspetto anche componenti. E quando sono componenti, sarebbero di tipi diversi. – Richard