Итак, это вопрос 2 в 1.
Во-первых, я пытаюсь запустить функцию, когда загружается элемент в компоненте html. Я пробовал это множеством способов, например: <div [onload]="myFunction()">
однако это приводит к тому, что функция вызывается несколько раз, а точнее 10 раз. Я предполагаю, что это не тот путь, но я недостаточно знаком, чтобы заставить его работать должным образом. Также я хотел бы отправить элемент в качестве параметра. Например, выполнение <div #myDiv (click)="myFunction(myDiv)">
действительно работает, но очевидно, что это не запускается при загрузке указанного элемента. Как правильно здесь, или я обязан сделать querySelector...
Далее следует вопрос, связанный с внедрением ElementRef в компонент. Теперь документы сообщают мне, что использование 'nativeElement ' собственность не совсем путь. Я действительно не понимаю, почему. Наличие ссылки на элемент в вашем компоненте — это хорошо, не так ли? Или я наблюдаю за разделением интересов? Я спрашиваю, потому что, если мой первый вопрос не подходит, я хотел бы использовать эту ссылку на элемент, чтобы выполнить querySelection моих желаемых элементов запуска загрузки в функции ngOnInit класса OnInit.
Вся информация приветствуется, поскольку документы angular2 не совсем полны. Спасибо.
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>
div
компонентом сам по себе? или может быть? Также не могли бы вы опубликовать соответствующий код компонента и шаблона - person SnareChops   schedule 11.02.2016div
быть компонентом или это как-то противоречит вашему дизайну? То, о чем вы просите, возможно возможно, но я пытаюсь получить изображение, чтобы порекомендовать лучший способ. - person SnareChops   schedule 11.02.2016