Angular2 - 包含非连续HTML元素的组件

时间:2016-06-10 18:59:03

标签: angular

考虑一下您在网页中间有地图的情况,以及要显示地图显示的中心坐标(+缩放级别)的页脚中的某个地方。

@Component({
    selector: 'esri-map-view',
    template: '<div></div>',
    providers: [SimpleMapService]
})
export class MapComponent{
    @Output() viewCreated = new EventEmitter();

    view: any = null;

    constructor(
        private _mapService: SimpleMapService,          
        private elRef: ElementRef
    ) {}

    ngOnInit() {
        this.view = new MapView({
            container: this.elRef.nativeElement.firstChild,
            map: this._mapService.map,
            zoom: 10,
            center: [19.937, 50.061]
        })

        this.view.then(function(view) {
            this.viewCreated.next(view);
        }.bind(this));

        this.view.watch('zoom', function(newVal, oldVal, propertyName) {

        }.bind(this));

    }

}

问题是:坐标/缩放级别必须显示在页脚中,而不是在此组件的<div>模板之前/之内/之后。

在AngularJS 1中,我会将地图的控制器附加到body标签,这样我就可以从页脚访问地图范围(以及center变量),但我看不出这是怎么回事在Angular2中完成。

0 个答案:

没有答案