VueにおけるAxios非同期通信の詳細な説明

VueにおけるAxios非同期通信の詳細な説明

1. まず、インタラクティブに使用するための .json ファイルを作成します。json データ形式をリストし、それをフロントエンドに渡すことをシミュレートして、友人が理解できるようにします。

{
  "name": "塩漬け魚_ひっくり返す",
  "URL": "https://blog.csdn.net/aaa123_456aaa",
  「ページ」: 1,
  "住所": {
    "street": "湘橋区",
    "city": "潮州市",
    「国」:「中国」
  },
  「リンク」: [
    {
      "name": "塩漬け魚_ひっくり返し 1",
      「URL」: 「https://blog.csdn.net/aaa123_456aaa」
    },
    {
      "name": "塩漬け魚_ひっくり返し 2",
      「URL」: 「https://blog.csdn.net/aaa123_456aaa」
    },
    {
      "name": "塩漬け魚_ひっくり返し 3",
      「URL」: 「https://blog.csdn.net/aaa123_456aaa」
    }
  ]
}

環境を必ず確認してください。ここでは ES6 をサポートすることを選択する必要があります。

ここに画像の説明を挿入

2. 次に、.html ファイルを作成し、Axios 非同期通信を使用してデータ通信を実現します。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>タイトル</title>
</head>
<本文>
<div id="vue">
    <div>
        {{info.name}}
        {{info.address}}
    </div>
</div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script type="text/javascript">
    var vm = 新しい Vue({
        el: "#vue",
        // 注意: * データはグローバルであり、大規模なプロジェクトではデータが汚染されやすい* データを関数にカプセル化します。コンポーネントをインスタンス化するときは、データ汚染を避けるために、この関数によって生成されたデータのコピーを呼び出すだけです。説明としてここでは書きません。
        データ(){
            戻る {
                // リクエストの戻りパラメータの形式は、より標準的な json 文字列と同じである必要があります。もちろん、直接空にすることもできます。
                情報:
                    名前: null、
                    住所:{
                        住所: null,
                        都市: null、
                        国: なし
                    },
                }
            }
        },
        mount(){//フック関数、つまりプログラムの実行時に、プログラムの途中に挿入して実行することができます //チェーンプログラミングでは、ES6サポートバージョンを使用することを忘れないでください axios.get('../data.json').then(response=>(this.info=response.data))
        }
    });
</スクリプト>
</本文>
</html>

実行結果:

ここに画像の説明を挿入

3. もちろん、上記は比較的標準的な書き方なので、省略してみましょう。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>タイトル</title>
</head>
<本文>
<div id="vue">
    <div>
        {{info.name}}
        {{info.address}}
    </div>
</div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.min.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script type="text/javascript">
    var vm = 新しい Vue({
        el: "#vue",
        // 注意: ここには data:{} がありますが、その中に元のパラメータ info が含まれている必要があり、axios によって取得されたデータは info にバインドされます // data は属性であり、属性値はオブジェクトまたは関数にすることができます。関数は基本的にオブジェクトです。Vue はデータ属性のタイプを判断し、異なる処理方法を採用します data: {
            情報:{}
            },
        マウントされた(){
            axios.get('../data.json').then(レスポンス=>(this.info=response.data))
        }
    });
</スクリプト>
</本文>
</html>

実行結果:

ここに画像の説明を挿入

4. 値をバインドするために v-bind が使用されるため、URL とのやり取りに注意する必要があります。

<div id="vue" v-clock>
    <div>
        {{info.name}}
        {{info.address}}
        <a v-bind:href="info.url">クリックして私のブログにアクセスしてください</a>
    </div>
</div>

クリックしてジャンプしてください。興味のある友達はフォローできます!

ここに画像の説明を挿入

5. ヒント

友人の中にはネットワークの調子が悪い人もいるかもしれません。その場合、ページの読み込みプロセス中にテンプレートが最初に読み込まれることがわかります。これは Vue のライフサイクルに関連しています。

ここに画像の説明を挿入

ここに画像の説明を挿入

見た目が醜いと感じる方もいるかもしれませんので、最初にテンプレートを表示するのではなく、その瞬間に白くする解決策を以下に示します。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>タイトル</title>
    <スタイル>
        /*<!--v-clock: ちらつきの問題を解決する-->*/
        [v-クロック]
            表示: なし;
        }
    </スタイル>
</head>
<本文>
<!--v-clock をカスタマイズする-->
<div id="vue" v-clock>
    <div>
        {{info.name}}
        {{info.address}}
    </div>
</div>

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue のクロスドメイン axios 非同期通信の問題を解決する
  • Vueでのaxiosの使用に基づく
  • Vue での axios の使用に関する詳細な説明
  • VueにおけるAxiosの非同期通信の詳しい説明

<<:  MySQLで偽または真を保存する方法

>>:  HTML知識ポイントの実践経験のまとめ

推薦する

CSSの高さの崩壊問題についての簡単な説明

パフォーマンス例えば: HTML: <div class="first"&...

MySQL 5.7 共通データ型

——「MySQL in Simple Terms (第 2 版)」からのメモ数値型整数型バイト最小最...

Javascript で関数のカリー化とデカリー化を実装する方法

関数のカリー化(黒い疑問符の顔)? ? ?カレー(黒い疑問符の顔)? ? ?これは完璧な中国語翻訳で...

hasLayout によって発生する CSS バグの一覧

IE には長い間問題がありました。誰もがテストを受けたとき、誰もが笑顔でしたが、それはただのニヤニヤ...

JavaScript の手ぶれ補正とスロットリングの説明

目次安定スロットリング要約する安定自動ドアは人を感知してドアを開け、5 秒間のカウントダウンを開始し...

myisamchk および mysqlcheck ツールを使用して破損した MySQL データベース ファイルを迅速に修復する方法

サーバーのデータベース ハード ディスク領域がいっぱいだったため、大量のデータの書き込みに失敗し、「...

Linux 3.X/4.x/5.x でパゴダ パネルのパスワードを忘れた場合の解決方法

ssh に入り、次のコマンドを入力してパスワードをリセットします (コマンドの末尾の「testpas...

Tomcat および Web アプリケーションの Docker デプロイメントの実装

1.dockerをオンラインでダウンロードする yum インストール -y epel-release...

スライダー効果を実装するミニプログラム

この記事の例では、スライディングブロック効果を実現するための小さなプログラムの具体的なコードを参考ま...

MySQL 5.7 MGR シングルマスター決定マスターノード方式の詳細説明

当銀行のMGRは年末に開始されます。公式文書を読んだり、毎日テストを受けたりしなければなりません。毎...

CSSとJSでロマンチックな流星群アニメーションを実現

1. レンダリング 2. ソースコードhtml < 本文 > < div クラス ...

CentOS に MySQL 5.5 をインストールするための完全な手順

目次1. インストール前の準備、インストールパッケージのダウンロード1 インストールの準備2 インス...

CentOS 8 仮想マシンから Windows 10 ホスト フォルダーにアクセスする方法の簡単な分析

VMware Toolsをインストールすると、仮想マシンホスト間で①テキストをコピーして貼り付けるこ...

Alibaba Cloud ECS centos6.8 に MySql5.7 をインストールして設定するチュートリアル

Alibaba Cloud yum コマンドでのデフォルトの MySQL バージョンは 5.17**...

jQueryの競合問題を解決する方法

フロントエンド開発において、$ は jQuery の関数です。$ のパラメータが異なると、実装される...