我怎么做" onload" Angular中的事件5

时间:2018-05-13 05:34:05

标签: angular events javascript-events event-binding

我试图调用函数onload元素,就像onload =" function()"在Javascript。

所以这是代码

<div class="img-circle" [id]="pet.id" (load)="imgLoad( pet.id, pic )"></div>

功能正常,我尝试(点击)并工作,但我尝试(加载),(onload),(加载)和不工作。

3 个答案:

答案 0 :(得分:0)

在我的功能中,我试图在这个div中复制一个样式,params是设置背景图像:url(base64);

所以...我改变了这一点,并且工作

[ngStyle]="{ 'background-image': 'url(' + pic + ') '}

事件绑定(load,onload,loaded)不存在。

答案 1 :(得分:0)

尝试HostListener。

@HostListener('document:click', ['$event'])
runThisMethod() {
  // your code goes here.
}

单击文档上的鼠标时,请运行此方法。 但是对于自定义div,请使用指令+ HostListener。 对于Ex:

<app-myComponent appChbgcolor> {{title}} </app-myComponent>
    @Directive({
        selector: '[appChbgcolor]'
    })

    export class ChangeBgColorDirective {
        constructor(private el: ElementRef, private renderer: Renderer) {
            this.ChangeBgColor('red');
        }

        ChangeBgColor(color: string) {
            this.renderer.setElementStyle(this.el.nativeElement, 'color', color);
        }

        @HostListener('onload') onClick() {
           window.alert('Host Element Clicked');
        }
    }

答案 2 :(得分:0)

替换onload函数的正确方法是使用ngOnInit。只需在应用程序组件上实现OnInit

更多信息:https://angular.io/api/core/OnInit