1. 程式人生 > >IONIC處理資料時,產生的資料覆蓋問題(深拷貝)

IONIC處理資料時,產生的資料覆蓋問題(深拷貝)

        Ionic 在更改資料時,會連原本的資料也更改,所以可採用  深拷貝 的方法 ,避免這種問題  

 

 //深拷貝標識
  bolCopy: boolean = true;

  constructor(public navCtrl: NavController,
    public navParams: NavParams) {

    }

 //複製交易項
  copyItem(order) {    
    //深拷貝前,重置該標識
    this.bolCopy = true;
    //深拷貝 
    var row = this.Clone(order);
  }

 //深拷貝
  Clone(data) {
    var obj ;

    if (this.bolCopy) {
      obj = {}; 
    } else {
      return data;
    }

    for (var item in data) {
      this.bolCopy = false;
      obj[item] = this.Clone(data[item]);
    }

    return obj;
  }