2017-07-28 19 views
1

角度JSでいつでもモデル値の変更を変更することから、スコープ変数を防ぐことができますことは、私のコントローラ機能はtypescriptですである:どのように私はここで

let temp = null; 

temp = _.find(this.scope.model.maintenanceArray, 
     function(_data,_key) { 
      return _data.iD === currentId; 
} 
this.scope.originalData = temp; 
this.scope.maintenanceData = temp; 

とビューで、

<input type="text" class="form-control" name="dateFrom"   
placeholder="{{dateDefault}}" 
ng-model="maintenanceData.from" required /> 

は基本的に私はmaintenanceDataを使用ngModelの場合はoriginalDataをそのまま保ちたいしかし問題は、モデルが変更されるたびにoriginalDataが変更されることです。元のデータが更新されないようにするにはどうすればよいですか?

答えて

3

これは、変数temporiginalDatamaintenanceDataの両方に渡されたために発生します。したがって、これらの変数の両方が同じオブジェクトを参照します。これを避けるには、2つの変数の1つにtempオブジェクトのコピーを作成します。このように:

this.scope.originalData = angular.copy(temp); 
this.scope.maintenanceData = temp; 

オブジェクトをそこにコピーする方法はいくつかあります。これは単なる1つの例です。

関連する問題