将Ionic复选框值传递给Firebase

时间:2017-05-19 10:41:47

标签: firebase ionic-framework firebase-realtime-database firebase-authentication ionic3

我将离子复选框值更新为firebase时遇到了问题。

这是我的HTML:



<ion-list>
  <ion-item>
    <ion-label>Problemfeld 1</ion-label>
    <ion-checkbox  checked="false" [(ngModel)]="problemfeld1" name="problemfeld1"></ion-checkbox>
  </ion-item>
  <ion-item>
    <ion-label>Problemfeld 2</ion-label>
    <ion-checkbox  checked="false" [(ngModel)]="problemfeld2" name="problemfeld2"></ion-checkbox>
  </ion-item>
  <ion-item>
    <ion-label>Problemfeld 3</ion-label>
    <ion-checkbox  checked="false" [(ngModel)]="problemfeld3" name="problemfeld3"></ion-checkbox>
  </ion-item>
  <ion-item>
    <ion-label>Problemfeld 4</ion-label>
    <ion-checkbox  checked="false" [(ngModel)]="problemfeld4" name="problemfeld4"></ion-checkbox>
  </ion-item>  
</ion-list>

<button ion-button (click)="updateProblemfeld()" [navPush]="problemdefinitionPage">Weiter</button>
&#13;
&#13;
&#13;

这是我的Ionic页面中的功能:

&#13;
&#13;
updateProblemfeld(problemfeld1, problemfeld2,problemfeld3,problemfeld4) {
	  this.szenarioProvider.updateProblemfeld(problemfeld1,  problemfeld2, problemfeld3, problemfeld4);
  }
&#13;
&#13;
&#13;

这就是我将它传递给firebase的方式:

&#13;
&#13;
updateProblemfeld(problemfeld1: boolean, problemfeld2: boolean, problemfeld3: boolean, problemfeld4: boolean): firebase.Promise<any> {	
  return firebase.database().ref('/szenarioData')
  .child(firebase.auth().currentUser.uid)
  .child('problemfeld').update({
    problemfeld1: problemfeld1,
	  problemfeld2: problemfeld2,
	  problemfeld3: problemfeld3,
	  problemfeld4: problemfeld4,
    });
  }
&#13;
&#13;
&#13;

这就是错误的样子:

Firebase.update failed: First argument contains undefined in property 'szenarioData.hR4feTPka8fuMDGK3YV0nFrDs1A3.problemfeld.problemfeld1'

你能想到一个解决方案吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我的天哪, 我找了一个解决方案2天,直到我决定问这个问题。 在询问后30分钟我找到了它:

HTML文档中的按钮必须如下:

&#13;
&#13;
<button ion-button (click)="updateProblemfeld(problemfeld1, problemfeld2, problemfeld3, problemfeld4)" [navPush]="problemdefinitionPage">Weiter</button>
&#13;
&#13;
&#13;

我只是忘了传递价值......