項目中遇到一個問題,就是在ngInit()中調用方法,只調用一次的問題,當父組件傳值變化時,并不會再次執行。
import { Component, Input, OnChanges, SimpleChanges } from '@angular/core'; import { NavController } from 'ionic-angular'; @Component({ selector: 'cs-img-lazy', templateUrl: 'cs-img-lazy.html' }) export class CsImgLazyComponent implements OnChanges { @Input() default: string; @Input() src: string constructor(public navCtrl: NavController) { } ngOnInit() { } ngOnChanges(changes: SimpleChanges) { console.log('ngOnChanges', this.src); this.loadImage(this.src, () => { this.default = this.src; }); } loadImage(url, callback) { var img = new Image(); img.onload = () => { if (img.complete) { img.onload = null callback(img); return; } } img.src = url; } }
以上這篇angular5 子組件監聽父組件傳入值的變化方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com