Also das ist eine 2 in 1 Frage.Wie feuere ich Onload-Ereignisse für Elemente innerhalb der Komponente html in angular2
Zuerst versuche ich eine Funktion zu feuern, wenn ein Element innerhalb einer Komponente html geladen wird. Ich habe es auf verschiedene Arten versucht, wie zum Beispiel: <div [onload]="myFunction()">
Dies führt jedoch dazu, dass die Funktion mehrmals aufgerufen wird, um genau zu sein. Meine Vermutung ist, dass dies nicht der richtige Weg ist, aber ich bin nicht vertraut genug, um es richtig funktionieren zu lassen. Auch möchte ich das Element als Parameter mitschicken. Zum Beispiel funktioniert <div #myDiv (click)="myFunction(myDiv)">
funktioniert, aber offensichtlich ist dies onload dieses Elements nicht ausgelöst. Was ist der richtige Weg hier, oder bin ich verpflichtet, eine Abfrage zu tun? Selector ...
Als nächstes ist eine Frage, die die Injektion der ElementRef innerhalb der Komponente. Jetzt, the docs sagen Sie mir, dass die 'nativeElement'-Eigenschaft ist nicht ganz der Weg zu gehen. Ich verstehe nicht wirklich warum. Ein Verweis auf das Element in Ihrer Komponente ist eine gute Sache, nicht wahr? Oder beaufsichtige ich eine Trennung der Besorgnis Sache? Ich frage, denn wenn meine erste Frage keine Option ist, möchte ich diese Elementverweis verwenden, um eine AbfrageSelection meiner gewünschten Onload-Brennelemente in der ngOnInit-Funktion der OnInit-Klasse zu tun.
Alle Informationen sind willkommen, da die eckigen Dokumente nicht vollständig sind. Vielen Dank.
export class HomeComponent implements OnInit
{
public categories: Category[];
public items: Item[];
constructor
(
public element: ElementRef,
private _categoryService: CategoryService,
private _itemService: ItemService,
private _router: Router
){}
public registerDropdown(element:HTMLElement): void
{
console.log(element);
}
private getCategories(): void
{
this._categoryService.getAll().then((categories:Category[])=> this.categories = categories);
}
private getItems(): void
{
this._itemService.getAll().then((items:Item[])=> this.items = items);
}
public ngOnInit(): any
{
this.getCategories();
this.getItems();
}
}
<div id="home">
<div id="search">
<div class="container">
<!-- div in question, the [ngModel] is a shot in the dark -->
<div #myDiv class="dropdown category" [ngModel]="registerDropdown(myDiv)">
<span class="placeholder">Selecteer categorieën</span>
<div class="the-drop">
<ul class="ul">
<li *ngFor="#category of categories">
<input type="checkbox" />{{category.long}}
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
Ist Ihr 'div' eine Komponente in sich? oder könnte es sein? Auch könnten Sie die relevante Komponente und Vorlage Code – SnareChops
buchen Es ist nicht, das Div ist einfach in der Komponente. Und ja, gib mir eine Sekunde. – Ken
Könnte das 'Div' eine Komponente sein oder wäre das irgendwie gegen dein Design? Wonach du fragst * ist * möglich, aber ich versuche ein Bild zu bekommen, damit ich den * besten * Weg empfehlen kann. – SnareChops