2017-05-23 19 views
-1

我正在使用ionic2(Angular2 & typescript)。目前我正在研究匹配算法,其中發現匹配它會將數組內的結果推入同一個對象內。但是,如果我回到上一頁並嘗試做另一場比賽。它將顯示前一場比賽的結果。因此,我希望能夠在繼續匹配部分之前清除數組/對象內的所有結果。到目前爲止,我嘗試使用ionwillEnter,它只是給我一個空白page.I試圖把它在構造函數中,並沒有work.Below是代碼當我加載重新加載頁面時,如何刪除數組內的所有對象?

填充物

constructor(public navCtrl: NavController, public navParams: NavParams,public testService: TestService,public cameraService: CameraService,public toastCtrl: ToastController,public auth : AuthProvider,af : AngularFire) { 

    this.objUser.length = 0; //trying to empty out all the elements/objects inside the array 

    var ref = firebase.database().ref('/user/'+ firebase.auth().currentUser.uid+'/profile/'); 
    ref.on('value', 
     ((data)=>{ 

     var users = data.val(); 
     var keys = Object.keys(users); 
     console.log(keys); 

     for(var y =0; y<keys.length; y++){ 
      var x = keys[y]; 

      this.objUser[y] = {userName:'', userAllergies:[], resultWarning:[], resultUnsafe:[]}; //dynamically create objects based on the y value 
      console.log(users[x].allergies); 

      this.objUser[y].userName = users[x].name; 
      this.objUser[y].userAllergies.push(users[x].allergies); 
      console.log('userAllergies',this.objUser[y].userAllergies); 
      console.log(this.objUser[y].userAllergies.length); 

     } 

     console.log(this.objUser); 
     console.log(this.objUser.length); 
     }), 
     this.errData); 
    } 

因此是有無論如何,我可以刪除陣列中的所有元素,並重新初始化我加載頁面的所有內容?任何幫助將不勝感激!

回答

0

'on'方法在firebase節點中的每個更改都被觸發(即編輯/添加/刪除)。因此,請嘗試清除「on」方法內的數組元素,但不要在其外面。

相關問題