Vue は、開発者が最新の応答性の高い Web アプリケーションを迅速に構築できるようにする人気の JavaScript フレームワークです。非常に興味深い機能の 1 つは、非常に人気があり実用的な機能であるサイドバーのドラッグです。この記事では、Vue を使用してサイドバーのドラッグを実装する方法を紹介します。
最初に、Vue.js をインストールする必要があります。npm または Yarn を使用してインストールし、プロジェクトに Vue.js を導入できます:
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
Vue.js では、次のように定義できます。コンポーネント、コンポーネント内にサイドバーをドラッグするためのコードを記述します。この例では、DragSidebar というコンポーネントを作成します。 DragSidebar コンポーネントでは、ドラッグとマウス X という 2 つのデータ プロパティを定義する必要があります。ドラッグはサイドバーがドラッグされているかどうかを示し、mouseX はマウスの X 座標を示します。
<template> <div class="drag-container"> <div class="sidebar" :style="{ transform: translate }" @mousedown="mousedown" @mouseup="mouseup" @mousemove="mousemove"> <div class="content"> <slot></slot> </div> </div> </div> </template> <script> export default { data() { return { dragging: false, mouseX: 0, sidebarX: 0 } }, computed: { translate() { return `translate3d(${this.sidebarX}px, 0, 0)` } }, methods: { mousedown(event) { this.dragging = true this.mouseX = event.clientX }, mouseup() { this.dragging = false }, mousemove(event) { if (this.dragging) { const diff = event.clientX - this.mouseX this.sidebarX += diff this.mouseX = event.clientX } } } } </script> <style scoped> .drag-container { display: flex; align-items: stretch; height: 100vh; overflow: hidden; } .sidebar { width: 320px; min-width: 320px; height: 100%; background-color: #F2F2F2; transition: transform .3s ease; } .content { padding: 24px; } </style>
上記のコードでは、mousedown、mouseup、mousemove の 3 つのメソッドを定義しました。これらはそれぞれ、マウスのプレス、リリース、移動のイベントを処理します。 Mousedown では、ドラッグ プロパティを true に設定します。これは、サイドバーのドラッグが開始され、マウスの X 座標が記録されることを意味します。 Mouseup では、ドラッグ プロパティを false に設定します。これは、サイドバーのドラッグが停止することを意味します。 Mousemove では、マウスの移動距離に基づいてサイドバーの位置を調整します。
最後に、親コンポーネントで DragSidebar コンポーネントを使用し、テストのためにいくつかの子コンポーネントをそれに追加します。プロジェクトのニーズに合わせて、いくつかの CSS スタイルを自分で追加する必要がある場合があります。
<template> <div class="app"> <drag-sidebar> <h1>Title</h1> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> <p>Suspendisse consectetur pharetra ante sit amet bibendum.</p> </drag-sidebar> <div class="main"> <h1>Main content</h1> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> <p>Suspendisse consectetur pharetra ante sit amet bibendum.</p> </div> </div> </template> <script> import DragSidebar from './components/DragSidebar.vue' export default { components: { DragSidebar } } </script> <style> .app { height: 100vh; display: flex; } .main { flex-grow: 1; padding: 24px; } </style>
これは、Vue を使用してサイドバーのドラッグを実装することに関するすべてです。上記の手順を通じて、実用的なサイドバーのドラッグをすぐに実装できます。
以上が例では、vue を使用してサイドバーのドラッグ機能を実装する方法を説明します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。