我正在尝试检测名为“invoice
”的模型属性的更改,以便只有当此对象的值与初始模型的值不同时才能启用按钮,'{ {1}}',在组件初始化时创建。
所以我需要能够在视图中比较两者:
initModel
通过在构造函数中为服务提供另一个变量的值来初始化'invoice'模型。
我试图想出一种设置'initModel'组件变量的方法,但这明显与'invoice'模型绑定,所以当'invoice'发生变化时,'initModel'也会发生变化,而我不能将'initModel'设置为可以在视图中访问的const。
组件:
<button mat-button (click)="saveChanges()" [disabled]="invoice !== initModel">Save Changes</button>
答案 0 :(得分:0)
初始化initModel
时,您没有创建新对象,只是将引用传递给现有的invoice
对象。
您可以使用Spread Operator创建初始对象的克隆(not a deep clone,请注意):
this.initModel = {...this.invoice};
答案 1 :(得分:0)
您可以尝试以下代码:
<Mapa
style="mapbox://styles/mapbox/light-v9"
onDrag={this.onDrag}
// fitBounds={fitBounds}
fitBoundsOptions={boundOptions}
containerStyle={{
height: "100%",
width: "100%"
}}
flyToOptions={{
speed: 0.8
}}
center={center}
zoom={zoom}
attributionControl={false}
onZoomEnd={this.mapZoomEnd.bind(this)}
onZoomStart={this.mapZoomStart.bind(this)}
>