Vue と jQuery をどのように併用できるかを調べる

PHPz
リリース: 2023-04-17 16:32:23
オリジナル
1876 人が閲覧しました

Vue は、Web アプリケーションをより簡単に構築できるようにする人気の JavaScript フレームワークです。ただし、Web アプリケーションをより適切に完成させるために必要な特定の機能を取得するために、jQuery などの他の JavaScript ライブラリを使用する必要がある場合があります。この記事では、Vue と jQuery をどのように組み合わせて使用​​するかを説明します。

Vue プロジェクトへの jQuery の導入
まず、Vue プロジェクトに jQuery を導入する必要があります。 npm パッケージ マネージャーを使用することも、CDN から jQuery ファイルを直接インポートすることもできます。 Vue で CDN を使用すると、次の方法で jQuery を Vue プロジェクトに組み込むことができます。

<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js"></script>
ログイン後にコピー

Vue プロジェクトで jQuery を使用する
Vue プロジェクトで jQuery を使用するには、jQuery を Vue インスタンスにバインドする必要があります。 jQuery を使用して DOM 要素を操作したり、その他の操作を実行したりできます。

この目的を達成するには、Vue のライフサイクル フックの「マウント」と「破棄」を使用できます。マウントされたフックでは jQuery イベント ハンドラーをバインドでき、破棄されたフックでは、コンポーネントが削除される前にメモリ リークを避けるためにイベント ハンドラーを削除できます。

次は、jQuery を使用してモーダル ボックスを閉じる Vue コンポーネントの例です:

<template>
  <div>
    <button @click="showModal=true">Show Modal</button>
    <div v-if="showModal" class="modal">
      <h2>Modal Title</h2>
      <p>Modal Content</p>
      <button class="modal-close-btn">×</button>
    </div>
  </div>
</template>

<script>
import $ from 'jquery';

export default {
  data() {
    return {
      showModal: false
    }
  },

  mounted() {
    // 绑定关闭模态框的事件处理程序
    $('.modal-close-btn').on('click', () => {
      this.showModal = false;
    });
  },

  destroyed() {
    // 移除关闭模态框的事件处理程序
    $('.modal-close-btn').off('click');
  }
}
</script>

<style>
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.modal h2 {
  margin-top: 0;
}

.modal-close-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 20px;
}
</style>
ログイン後にコピー

このコンポーネントは、Vue の「data」オプションを使用してモーダル ボックスが表示されるかどうかを追跡し、jQuery を使用して「クリック」イベントをバインドしてモーダル ボックスを閉じます。 「マウントされた」フックでは、イベント ハンドラーがセレクターを介して「modal-close-btn」クラスにバインドされます。これは、さまざまな場所で一般的に使用される非常に一般的な CSS クラスです。 「destroyed」フックでは、イベント ハンドラーはバインドされていないため、コンポーネントが破棄されるまでメモリ リークは発生しません。

Vue と jQuery の間の対話
Vue テンプレートで生成された DOM 要素を処理するために、Vue と jQuery の間で対話する必要がある場合があります。たとえば、Vue テンプレート内のデータに基づいてテーブルを動的に生成し、jQuery を使用してテーブルのスタイルを設定する必要がある場合があります。

これを実現するには、Vue の「ref」属性を使用して DOM 要素を参照し、それを処理のために jQuery に渡します。その例を次に示します。

<template>
  <table ref="table"></table>
</template>

<script>
import $ from 'jquery';

export default {
  mounted() {
    // 生成表格并将其附加到DOM
    const tableData = [
      { name: 'Alice', age: 32 },
      { name: 'Bob', age: 25 },
      { name: 'Charlie', age: 47 },
    ];

    const $table = $('<table>').addClass('my-table');
    $table.append('<thead><tr><th>Name</th><th>Age</th></tr></thead>');

    const $tbody = $('<tbody>');
    tableData.forEach((row) => {
      const $tr = $('<tr>');
      $tr.append(`<td>${row.name}</td><td>${row.age}</td>`);
      $tbody.append($tr);
    });

    $table.append($tbody);

    this.$refs.table.appendChild($table[0]);
  }
}
</script>

<style>
.my-table th {
  font-weight: bold;
}
.my-table tbody tr:nth-child(even) {
  background-color: #f2f2f2;
}
.my-table td {
  padding: 10px;
  border: 1px solid #ddd;
}
</style>
ログイン後にコピー

この例では、Vue の「マウントされた」フックを使用してテーブルを生成し、jQuery を使用してテーブルのスタイルを設定します。 jQuery セレクターを使用してテーブル要素 (Vue の $refs プロパティを介して参照できます) を選択し、jQuery メソッドを使用して要素を追加します。 Vue は DOM 要素を管理する必要があるため、ネイティブ JavaScript メソッドを使用して、jQuery によって作成されたテーブルを Vue テンプレートにアタッチする必要があります。

結論
Vue と jQuery は相互に連携して、より優れた Web アプリケーション構築エクスペリエンスを提供します。この記事では、jQuery を Vue プロジェクトに導入し、Vue コンポーネントで使用する方法と、Vue と jQuery の間で対話して DOM 要素を操作し、その他の操作を実行する方法について説明しました。この記事が、Vue と jQuery がどのように連携するかをより深く理解するのに役立つことを願っています。

以上がVue と jQuery をどのように併用できるかを調べるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!