リクエストとユーザー入力を待つ: 患者の期待に関するガイド
P粉368878176
P粉368878176 2024-02-26 13:25:04
0
1
360

コンポーネントのロード時に非同期リクエストを行うとします。このコンポーネントには、ユーザーがこのボタンを押すと、元のリクエストの結果に応じて関数をトリガーできる送信ボタンもあります。非同期リクエストが完了するまでトリガーされた関数の実行を遅らせるにはどうすればよいですか?

これが意味がわからない場合は、例を挙げてみましょう。 MyComponent 非同期リクエスト getRandomColor()mounted で作成します。 MyComponent のテンプレートには <button @click="handleClick"> があります。 handleClick いくつかの関数 saveColor() を呼び出します。非同期 getRandomColor() が完了する前に saveColor() が呼び出されないようにするにはどうすればよいですか?

現在 Vue.js を使用していますが、この質問はすべての JavaScript に当てはまると思います。

P粉368878176
P粉368878176

全員に返信(1)
P粉329425839

これを実現するには、ボタン要素に :disabled 属性を追加します。 :disabled の値は応答に基づきます。つまり、応答がある場合は有効にし、応答がない場合は無効にします。

動作デモ:

const app = Vue.createApp({
  el: '#app',
  データ() {
    戻る {
        buttonText: '電話してください!',
      APIレスポンス: []、
      isDisabled: false
    }
  }、
  メソッド: {
    saveColor() {
        console.log('saveColor メソッド呼び出し');
    }
  }、
  マウントされた() {
    axios.get("https://jsonplaceholder.typicode.com/users").then(response => {
      this.apiResponse = response.data; // ここでは適切な応答が得られているため、ボタンが有効になります。
    }).catch((エラー) => {
        console.warn('API エラー');
        });
  }
})
app.mount('#app')



いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート