课程疑问,ngOnChanges,6-5组件生命周期钩子概述
来源:6-5 组件生命周期钩子概述

Meepo校园联盟
2017-04-02
如果有很多变量就要写很多检测
checkZoom(changes: SimpleChanges){ let change = changes['zoom']; //如果存在change if(change){ // 如果不是第一次 if(!change.firstChange){ this.map.zoomTo(change.currentValue) } } } @ViewChild('map') mapElement: ElementRef constructor() { //console.log('on init'); //let option = { // zoom: this._zoom //} //console.log(option); //这里更坑爹,这里的this.mapElement实在 constructor 后才获取到的 //this.map = new qq.maps.Map(this.mapElement.nativeElement,option); //this.mapSuccess.emit(this.map) } _zoom: number; @Input() get zoom(){ return this._zoom; } set zoom(num: number){ this._zoom = num; //this.map.zoomTo(this._zoom) 这地方报错,好坑爹,这个实在ngOninit()之前执行的 } ngOnInit() { console.log('on init'); let option = { zoom: this._zoom } console.log(option); this.map = new qq.maps.Map(this.mapElement.nativeElement,option); this.mapSuccess.emit(this.map) } ngOnChanges(changes){ this.checkZoom(changes) }
我在封装地图组件,有没有好的解决方案,求教
写回答
1回答
-
Meepo校园联盟
提问者
2017-04-02
额 二逼了.. 已解决
constructor( public ele: ElementRef ) { this.map = new qq.maps.Map(this.ele.nativeElement); }
00
相似问题