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知識ポイントの実践経験のまとめ

推薦する

React Fragment の紹介と詳しい使い方

目次序文フラグメントの動機React Fragment の紹介と使用<React.Fragme...

JavaでTomcatサーバーを起動/停止する方法

1. プロジェクト構造 2.Tomcat.javaを呼び出す パッケージ com.calltomca...

11 の素晴らしい JavaScript コード リファクタリングのベスト プラクティスの概要

目次1. 関数の抽出2. 重複した条件付きスニペットを結合する3. 条件分岐文を関数に抽出する4. ...

Mysqlデータベースの文字化けに対処する方法

MySQL では、データベースの文字化けは一般的に文字セットを設定することで修正できますが、文字化け...

Navicatを使用してクラウドサーバーデータベースにリモート接続する方法

秘密鍵を開かずにリモート サーバーのデータベースに接続するのは非常に便利です。新しい接続でデータを入...

MySQL での実行計画の詳細分析

序文効率的なSQL文の書き方は、Explain実行計画の分析と切り離せません。実行計画とは何か、効率...

JSフロントエンドモジュール化のいくつかの仕様についての簡単な説明

目次序文フロントエンドモジュール開発の価値厄介な名前の競合面倒なファイル依存関係モジュール化の利点C...

Linux で scp コマンドを使用してファイルをリモートでコピーする方法の詳細な説明

序文scp は secure copy の略です。scp は、Linux システムの ssh ログイ...

Ubuntu 18.04 は pyenv、pyenv-virtualenv、virtualenv、Numpy、SciPy、Pillow、Matplotlib をインストールします

1. 現在、Pythonのバージョン管理ツールは数多く存在します。その中でも比較的使いやすいのがPy...

Linux でリモートから MySQL を自動的にバックアップする方法

序文:基本的に、自社で使用する場合でも、顧客向けにサーバーを展開する場合でも、MySQL のバックア...

Tik Tok サブスクリプション ボタンのアニメーション効果を実現する CSS

少し前にTik Tokを見ていて、フォローするときのボタンアニメーションがとても美しいと思ったのと、...

Doubanウェブサイトのウェブサイトコンテンツに小さな変更を加える方法

<br />読みやすさはウェブサイトにとって非常に重要な部分であり、ウェブサイトの核心と...

HTML ul および li タグを使用して画像を表示するサンプル コード

以下のコードをDreamweaverのコードエリアにコピーすると、プレビュー時に以下の画像が表示され...

IE をフリーズさせる HTML コード

任意のテキスト エディターを開き、次のコードをコピーして、たとえば SomeFilename.htm...

MySQLインデックスの詳細

1. インデックスの原則インデックスは、列内の特定の値を持つ行をすばやく見つけるために使用されます。...