Vue プロジェクトで mock.js を使用するための完全な手順

Vue プロジェクトで mock.js を使用するための完全な手順

Vue プロジェクトで mock.js を使用する

  • 開発ツールの選択: Vscode

1. コマンドラインを使用して Vue プロジェクトを作成する (Babel、Router、Vuex を手動で選択)

2. element-uiをインポートし(表示効果を高めるため)、コマンドラインに入力します。

npm i 要素UI -S

3. 主に。 js での参照

'element-ui' から ElementUI をインポートします。
import 'element-ui/lib/theme-chalk/index.css'; //スタイルファイルはVue.use(ElementUI)に導入する必要があります

4. elememnt-uiのカスタム列テンプレートを使用するために、新しいsrc/views/main/List.vueを作成します。

<テンプレート>
<div>
  <el-テーブル
  :data="テーブルデータ"
  スタイル="幅: 100%">
  <el-テーブル列
   label="日付"
   幅="180">
   <テンプレート スロット スコープ="スコープ">
    <i class="el-icon-time"></i>
    <span style="margin-left: 10px">{{ scope.row.date }}</span>
   </テンプレート>
  </el-table-column>
  <el-テーブル列
   label="名前"
   幅="180">
   <テンプレート スロット スコープ="スコープ">
    <el-popover トリガー="ホバー" 配置="上">
     <p>名前: {{ scope.row.name }}</p>
     <p>アドレス: {{ scope.row.address }}</p>
     <div スロット="参照" クラス="名前ラッパー">
      <el-tag size="medium">{{ scope.row.name }}</el-tag>
     </div>
    </el-popover>
   </テンプレート>
  </el-table-column>
  <el-table-column label="操作">
   <テンプレート スロット スコープ="スコープ">
    <el-ボタン
     サイズ="ミニ"
     @click="handleEdit(scope.$index, scope.row)">編集</el-button>
    <el-ボタン
     サイズ="ミニ"
     タイプ="危険"
     @click="handleDelete(scope.$index, scope.row)">削除</el-button>
   </テンプレート>
  </el-table-column>
 </el-table>
</div>
</テンプレート>

<スクリプト>
 エクスポートデフォルト{
  データ() {
   戻る {
    テーブルデータ: [{
     日付: '2016-05-02'、
     名前: 王小湖、
     住所: '上海市普陀区金沙江路1518号'
    }, {
     日付: '2016-05-04'、
     名前: 王小湖、
     住所: '上海市普陀区金沙江路1517号'
    }, {
     日付: '2016-05-01'、
     名前: 王小湖、
     住所: '上海市普陀区金沙江路1519号'
    }, {
     日付: '2016-05-03'、
     名前: 王小湖、
     住所: '上海市普陀区金沙江路1516号'
    }]
   }
  },
  メソッド: {
   ハンドル編集(インデックス、行) {
    console.log(インデックス、行);
   },
   handleDelete(インデックス、行) {
    console.log(インデックス、行);
   }
  }
 }
</スクリプト>

5.router/index.jsは次のように設定されます

'vue' から Vue をインポートします
'vue-router' から VueRouter をインポートします。
// コンポーネントをインポートするimport List from '../views/main/List.vue'

Vue.use(VueRouter)

定数ルート = [
 {
  パス: '/'、
  名前: 'リスト',
  コンポーネント: リスト
 },

]

const ルーター = 新しい VueRouter({
 ルート
})

デフォルトルーターをエクスポートする

現在のウェブページの表示効果は次のとおりです

5. mockjsとaxiosをインストールする

npm インストール --save-dev mockjs
npm インストール --save axios

6. api/getData.jsとrequest.jsを作成する

リクエスト

'axios' から axios をインポートします
constサービス = axios.create({
  ベースURL: "http://localhost:8080",
})
デフォルト サービスをエクスポートする

取得データ.js

'../request' から axios をインポートします
//データリストインターフェース export const getList = () => axios.get("/list")

7.srcの下にmock/mockServer.jsを作成します。

'mockjs' から Mock をインポートします。
// './data.json' からデータをインポート

Mock.mock('http://localhost:8080/list', {
  コード: 0、データ:
  {
    'データ|1000': [
      {  
        id: '@id', //ランダムID
        name: '@name', //ランダムな名前 nickName: '@last', //ランダムなニックネーム phone: /^1[34578]\d{9}$/, //ランダムな電話番号 'age|11-99': 1, //年齢 address: '@county(true)', //ランダムな住所 email: '@email', //ランダムなメールアドレス isMale: '@boolean', //ランダムな性別 createTime: '@datetime', //作成時刻 avatar() {
          //ユーザーアバター return Mock.Random.image('100×100', Mock.Random.color(), '#757575', 'png', this.nickName)
        }
      }
    ]
  }

})

8. main.jsにmockServerをインポートする

'./mock/mockServer' をインポートします

9. src/views/main/List.vue を修正(データ取得とバインディング、テーブルを中央に設定)

<テンプレート>
 <div>
  <el-table :data="tableData" スタイル="幅: 600px;マージン: 0 自動">
   <el-table-column label="ランダムID" width="200">
    <テンプレート スロット スコープ="スコープ">
     <i class="el-icon-time"></i>
     <span style="margin-left: 10px">{{ スコープ行ID }}</span>
    </テンプレート>
   </el-table-column>
   <el-table-column label="名前" width="180">
    <テンプレート スロット スコープ="スコープ">
     <el-popover トリガー="ホバー" 配置="上">
      <p>名前: {{ scope.row.name }}</p>
      <p>アドレス: {{ scope.row.address }}</p>
      <div スロット="参照" クラス="名前ラッパー">
       <el-tag size="medium">{{ scope.row.name }}</el-tag>
      </div>
      <p>メールアドレス: {{ scope.row.email }}</p>
      <p>性別: {{ scope.row.isMale }}</p>
      <p>ニックネーム: {{ scope.row.nickName }}</p>
      <p>電話番号: {{ scope.row.phone }}</p>
      <p>アバター:</p>
     </el-popover>
    </テンプレート>
   </el-table-column>
   <el-table-column label="操作">
    <テンプレート スロット スコープ="スコープ">
     <el-button size="mini" @click="handleEdit(scope.$index, scope.row)"
      >編集</el-button
     >
     <el-ボタン
      サイズ="ミニ"
      タイプ="危険"
      @click="handleDelete(scope.$index, scope.row)"
      >削除</el-button
     >
    </テンプレート>
   </el-table-column>
  </el-table>
 </div>
</テンプレート>

<スクリプト>
「../../api/getData」から getList をインポートします。
エクスポートデフォルト{
 データ() {
  戻る {
   テーブルデータ: [
    // {
    // 日付: "2016-05-02",
    // 名前: "王小湖",
    // 住所: "上海市普陀区金沙江路1518号"、
    // },
    // {
    // 日付: "2016-05-04",
    // 名前: "王小湖",
    // 住所: "上海市普陀区金沙江路1517号"、
    // },
    // {
    // 日付: "2016-05-01",
    // 名前: "王小湖",
    // 住所: "上海市普陀区金沙江路1519号"、
    // },
    // {
    // 日付: "2016-05-03",
    // 名前: "王小湖",
    // 住所: "上海市普陀区金沙江路1516号"、
    // },
   ]、
  };
 },
 メソッド: {
  ハンドル編集(インデックス、行) {
   console.log(インデックス、行);
  },
  handleDelete(インデックス、行) {
   console.log(インデックス、行);
  },

  非同期getMockList() {
   試す {
    const 結果 = getList() を待機します。
    //console.log(結果);
    結果データコード == 0 の場合
     this.tableData = 結果データ.データ.データ;
    }
    //console.log(結果データ.データ.データ);
   } キャッチ(エラー){
    コンソール.log(エラー);
   }
  },
 },

 マウント() {
  this.getMockList();
 },

};
</スクリプト>

10. もう一度実行する

名前の上にマウスを置くと、詳細情報が表示されます。

1000件のテストデータを表示

ページングをするのは面倒です。 。 。 。

要約する

Vue プロジェクトで mock.js を使用する方法に関するこの記事はこれで終わりです。mock.js を使用したその他の関連プロジェクトについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue プロジェクトにおける mock.js の使用と基本的な使い方
  • Vue プロジェクトで mock を使用する方法をご存知ですか?
  • vue-cliのローカル開発でモックデータを利用する方法の詳しい説明
  • Vue で開発環境でモックを制御し、本番環境で無効にする方法

<<:  Vueページジャンプの実装方法

>>:  Typescriptを使用してWeChatミニプログラムを開発するための詳細な手順

推薦する

vue-element-admin グローバル読み込み待機中

最近の要件:グローバルロード、すべてのインターフェースはロード待機機能を表示するかどうかを手動で制御...

Docker クロスホストネットワークの実装 (手動)

1. Macvlan の紹介Macvlan が登場する前は、イーサネット カードに複数の IP ア...

CSS3は小さな矢印のさまざまなグラフィック効果を実現します

CSS を使ってさまざまなグラフィックを実現できるのは素晴らしいことです。画像を切り取る必要はなく、...

MySQL 8.0.11 MSI バージョンのインストールと構成のグラフィック チュートリアル

この記事では、MySQL 8.0.11 MSIバージョンのインストールと設定のチュートリアルを参考ま...

Dell R720 サーバーに Windows Server 2008 R2 をインストールする方法

注: この記事のすべての写真はインターネットから収集されたものであるため、DELL R720 サーバ...

JavaScriptで配列を作成する方法の詳細な説明

目次JavaScript で配列を作成する配列の使用配列を分割文字列に変換する配列に要素を追加する配...

CSSをiPhoneのフルスクリーンに適応させる方法

1. メディアクエリ方式 /*iPhone X への適応*/ @media 画面のみ、(デバイス幅:...

SpringBoot でマイクロサービスを構築するために Docker を使用した実際の記録を分析する

それは何ですか? Spring Boot は、Spring オープンソース組織のサブプロジェクトであ...

幅と高さが可変の要素を中央に配置するための CSS ソリューション

1. 水平中央公開コード: html: <div class="parent&quo...

Bash の山括弧の深い理解 (初心者向け)

序文Bash には、ls、cd、mv などの重要な組み込みコマンドが多数あるほか、grep、awk、...

CSSセレクタを使用してラベルスタイルを設定するサンプルコード

CSS セレクターHTML タグにスタイルを設定すると、タグの属性を設定できます。 <div ...

MySQL初心者のための基本操作のまとめ

図書館運営クエリ1.SHOW DATABASE; ----すべてのデータベースを照会する2. SHO...

HTML内のフレームセットタグが正常に表示されない原因の解析と解決方法

<frameset></frameset>は皆さんもよくご存知のものです。こ...

JS での Reduce Fold Unfold の使用法の詳細な説明

目次折りたたむ(減らす) for...of の使用whileループの使用折り畳み実装に近い展開する配...

Docker コンテナのマウントディレクトリ操作の表示

Dockerコンテナのマウントディレクトリ情報のみを表示する docker 検査 --format ...