1. ホーム
  2. angular

[解決済み] 角度換算2

2022-12-02 16:46:05

質問

onchangeを使って入力範囲の値をfirebaseに保存しているのですが、関数が定義されていないというエラーが発生します。

これは私の関数です。

saverange(){
  this.Platform.ready().then(() => {
    this.rootRef.child("users").child(this.UserID).child('range').set(this.range)
  })
} 

これは私のhtmlです。

<ion-item>
  <ion-row>
    <ion-col>Rayon <span favorite><strong> {{range}} km</strong></span></ion-col>
    <ion-col><input type="range" name="points" min="0" max="40" [(ngModel)]="range" onchange="saverange()"></ion-col>
  </ion-row>
</ion-item>

angularのonchangeに相当するものがあれば、教えてください。 ありがとうございます

どのように解決するのですか?

<ブロッククオート

私たちは Angularイベントバインディング に応答するために 任意の DOM イベント . 構文は簡単です。DOM イベントの名前を括弧で囲み、それに引用符で囲まれたテンプレート文を割り当てています。-- 参照

から change には、標準的な DOM イベントのリストである にある場合、それを使うことができます。

(change)="saverange()"


あなたの特定のケースでは、NgModel を使用しているので、代わりにこのように双方向のバインディングを分割することができます。

[ngModel]="range" (ngModelChange)="saverange($event)"

次に

saverange(newValue) {
  this.range = newValue;
  this.Platform.ready().then(() => {
     this.rootRef.child("users").child(this.UserID).child('range').set(this.range)
  })
} 

しかし、この方法では saverange() はキーを押すたびに呼び出されるので、おそらくは (change) .