Vue.js を学ぶ際に遭遇する落とし穴

Vue.js を学ぶ際に遭遇する落とし穴

順位は特に決まっていません

最近は生活や愚痴に関するブログばかり投稿しているようです。テクノロジー関係の更新がないと、また怠け者になっていると思われるかもしれません。

よし、じゃあふりを始めます。

クラス void のポイント

これは、ヌル ポインターに似た種類のエラーです。コンソールにエラーは報告されず、見つけるのが非常に困難です。

応答データユーザーアバター

//ユーザーが null の場合、この呼び出しはエラーを報告せず、それ以上実行されません。これは非常にトリッキーです。//アバターを判断したい場合は、次のようにします if (resp.data.user && resp.data.user.avatar) {
 //する...
}

ES6 矢印関数

矢印関数と非矢印関数の間にも大きな違いがある

//通常の無名関数の記述 api()
.then(関数(応答){
 このカウント()
 //これは通常のカウントではなく、未定義になることに注意してください
})


//ES6 矢印関数 api()
.then(応答 => {
 このカウント()
 //ここでは何も問題はありません})

ヴュートファイ

これは、Vue.js 上で実行できる、Google のマテリアル デザイン言語に基づいた UI フレームワークです。

ただ、インストール方法が少し特殊で、プラグインのインストール方法も特殊です。

例えば、vuetifyのダイアログ

'vuetify-dialog' から VuetifyDialog をインポートします。
'./plugins/vuetify' から vuetify をインポートします。

Vue.use(VuetifyDialog, {
 コンテクスト: {
 ヴュートファイ
 }
})

つまり、UI を書くときは、Google 向けにプログラミングする必要があるということです。 (他のバックエンド言語も同様ですが)

vue-cli

新しいプロジェクトを作成する場合、そのプロジェクトは特に大きくありません。

vue-cli を使用して作成することを強くお勧めします。簡単に言えば、これにより b スタイルが向上します。

ナンセンスな話はやめて、絵を見てください

vue プロジェクト名を作成します

ビューUI

vue ui は上記のような視覚化ページを開きます。

次に、vue-cli で作成されたプロジェクトをインポートすると、上の図と同じになります:)

非同期と同期

実は、以前とても馬鹿げた考えを持っていたんです。

ユーザーがフォームを完了すると、すぐにサーバーで検証され、結果が UI 上で更新されます。

ただし、UI を更新するには同期操作が必要です。

私は、axios の非同期操作を同期操作に変える方法を見つけようとし続けました。

以前の jQuery であれば、非常に簡単です。aysnc 属性を変更するだけです。

ただし、リクエストを送信するたびに、ブラウザのコンソールに XHR 同期リクエストは推奨されないというメッセージが表示されます。

なぜでしょうか? ブラウザのページはシングルスレッドであるためです。リクエストが同期されている場合、リクエストごとにページが一定時間停止します。

そこで最終的に、すべてのリクエストを非同期にするための段階的な検証方法に変更しました。

実行と展開

ローカルで開発する場合

serve (または一部のプロジェクトでは dev) を実行すると、ポート番号が開き、ユーザー インターフェイスにアクセスしてほぼリアルタイムで UI を調整できるようになります。

オンラインでデプロイする場合は、まずビルドを実行して、出力ディレクトリに静的ファイルを生成する必要があります。

これらのファイルを次のようにサーバーにデプロイします。

  • nginx
  • キャディー

ここで私が強くお勧めするのは、Golang をベースに開発されたサーバーである caddy です。軽量で導入でき、管理 API が付属しています。Http2 を非常によくサポートし、http3 もサポートしています。

ヒント

ここで紹介しているのは、私が最近始めたプロジェクトの一部です。今後の開発では、さらに多くの問題に遭遇するでしょう。
たとえば、ページ間の更新などです。

それで、もうすぐ次の章が始まります。

これが役に立つことを願っています。

以上が、Vue.js を学習する際に陥りやすい落とし穴の詳細です。Vue.js を学習する際に陥りやすい落とし穴の詳細については、123WORDPRESS.COM 内の他の関連記事もぜひご覧ください。

以下もご興味があるかもしれません:
  • Vue.js フロントエンドフレームワークにおけるイベント処理の概要
  • Vue.js ベースの iView UI フレームワークの非エンジニアリング実践記録 (推奨)
  • Vue.js ユニバーサル アプリケーション フレームワーク - Nuxt.js 入門チュートリアル
  • Vue の詳細な入門ノート
  • Vueのフロントエンドとバックエンドのデータのやり取りと表示を理解する方法
  • Vueの使用に関する深い理解
  • Emberjs による axios 経由でのファイルダウンロード方法
  • Emberjs を使ってシンプルな Todo アプリケーションを作成する
  • Ember.js と Vue.js の詳細な比較

<<:  データベースアカウントのパスワード暗号化の詳細な説明と例

>>:  MySQL での正規表現置換のための replace と regexp の使用法の分析

推薦する

要素内の TimePicker は時間の一部を無効にします (分単位で無効)

プロジェクトの要件は、日付と時刻を選択し、現在の時刻以降の時刻のみを選択し、最小レベルを分単位で無効...

Ajax は CORS レスポンス ヘッダーを設定してクロスドメインの問題を解決し、クロスドメインのケース スタディを実現します。

1. クロスドメインを実現するためにCORSレスポンスヘッダーを設定するクロスオリジンリソース共有...

USE DB 輻輳に対する MySQL ソリューションの詳細な説明

障害に遭遇すると、障害の根本的な原因を考えるのではなく、障害を解決する方法を考えることがよくあります...

単一の MySQL テーブル内の行数が 500 万を超えてはいけないのはなぜですか?

今日は、興味深いトピックについてお話ししましょう。データベースとテーブルを分割することを検討する前に...

ウェブページのCSSの優先順位について詳しく説明します

CSS の優先順位について話す前に、CSS とは何か、CSS が何に使用されるのかを理解する必要があ...

MySQLデータのバックアップとリカバリの実装方法の分析

この記事では、例を使用して MySQL データのバックアップと復元の方法について説明します。ご参考ま...

アコーディオン効果を実現するネイティブ js

実際のWebページ開発でも、アコーディオンは頻繁に登場します。簡単なアコーディオンを作ったのですが、...

MySQL の JSON 挿入の問題

MySQL 5.7.8 以降では、JSON テキストでデータを効率的に取得できるネイティブ JSON...

Linux mysql5.5 を mysql5.7 にアップグレードする手順と落とし穴

目次Linux MySQL 5.5 が MySQL 5.7 にアップグレードされました1. mysq...

MySQL 時間統計方法の概要

データベースの統計を行う場合、多くの場合、年、月、日に基づいてデータを収集し、echart を使用し...

JavaScript実行メカニズムの詳細な紹介

目次1. プロセスとスレッドの概念2. ブラウザの原則3. 同期と非同期4. 実行スタックとタスクキ...

html の img src="" で js 関数または js 変数を呼び出して、画像パスを動的に指定します。

この問題に関して、オンライン リソースをたくさん見つけました。ここにいくつかの方法を示します。コード...

MySQL 数千万のビッグデータに対するSQLクエリ最適化の知識ポイントのまとめ

1. クエリを最適化するには、テーブル全体のスキャンを避けてください。まず、where と orde...

Vue の動的メニュー、動的ルートの読み込みと更新の落とし穴

目次必要:アイデア:レッスン:テキストを共有する:要約する必要:インターフェイスからサブメニュー デ...

MySQL で SQL 文の実行時間を表示する方法

目次1. 初期SQLの準備2.MysqlはSQL文の実行時間をチェックします3. さまざまなクエリの...