我正在尝试以双向数据绑定方式将buttons: {
title: "key",
value: "value"
},
控件绑定到第三方控件映射的缩放属性(输入应始终显示当前缩放级别,如果用户更改它,地图应该放大到这个水平)
目前,它仅适用于一个方向:对输入框的更改不会应用于地图视图。
input
编辑: 所以我添加了
输入 @Component({
selector: 'map-view',
template: '<div id="mapView"></div><input [(value)]=zoom />'
})
export class MapViewComponent {
view: any = null;
public zoom: number = 10;
constructor(private _mapService: SimpleMapService, private elRef: ElementRef) {
}
ngOnInit() {
this.view = new MapView({
container: this.elRef.nativeElement.firstChild,
map: this._mapService.map,
zoom: this.zoom,
center: [10.44, 42.947974]
})
this.view.watch('zoom', function(newVal, oldVal, propertyName) {
this.zoom = newVal;
}.bind(this));
}
}
和
<input [(ngModel)]="zoom" (ngModelChange)="updateZoom($event)">
到组件
它似乎正在发挥作用。但这真的是它应该做的方式吗?在Angular1中,它确实与updateZoom(newValue) {
this.view.zoom = newValue;
}
一起使用,没有任何事件。
答案 0 :(得分:1)
试试这个<input [(value)]="zoom"
; //&lt; -----在缩放附近添加双引号
OR
如何使用<input [(ngModel)]="zoom" >
?