検索
ホームページウェブフロントエンドフロントエンドQ&Avue がページにジャンプしたときにプロンプ​​トをポップアップ表示する方法

Vue は、インタラクティブな単一ページ Web アプリケーションを構築するための非常に人気のある JavaScript フレームワークです。 Vue には多くの強力な機能と使いやすい API がありますが、ルーティングやナビゲーションとともに使用する場合は、プロンプトをポップアップ表示してユーザーにこれからアクセスしようとしているページを知らせる方法を見つける必要がある場合があります。

この記事では、Vue Router と Vue コンポーネントを使用してこの目標を達成する簡単な方法を検討します。

ステップ 1: Vue Router をインストールする

Vue Router は、Vue アプリケーションにルーティング機能を提供する一般的なルーター ライブラリです。この記事では、Vue Router を使用してアプリケーションのナビゲーションを管理します。

Vue Router をインストールするには、npm からインストールする必要があります。次のコマンドを使用して Vue Router をアプリケーションにインストールしてください:

npm install vue-router --save

インストールが完了したら、Vue コンポーネントに Router をインポートし、Vue アプリケーションの一部として設定します。

import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      name: 'Home',
      component: Home
    },
    {
      path: '/about',
      name: 'About',
      component: About
    }
  ]
})

上記のコードでは、2 つのルートを定義します。1 つは Home コンポーネントを指すルート、もう 1 つは About コンポーネントを指すルートです。この単純な例では、アプリケーションには 2 ページしかありませんが、さらにページとルートを追加して、プロジェクトのニーズに合わせて調整できます。

ステップ 2: ナビゲーション アラートを追加する

Vue Router の設定が完了したので、ユーザーが別のページに移動したいときに警告をポップアップ表示する方法が必要です。

これには、Vue Router のナビゲーション ガードを使用できます。 Vue Router を使用すると、ルーティング変更の前後にルーティング ミドルウェアを追加できます。ナビゲーションの前に呼び出されるプレルーティング ガードを定義し、アラート ボックスをポップアップ表示して、これからアクセスしようとしているページについてユーザーに知らせます。

router.beforeEach((to, from, next) => {
  if (to.name !== 'Home') {
    if (window.confirm('你确定要离开这个页面吗?')) {
      next()
    } else {
      next(false)
    }
  } else {
    next()
  }
})

上記のコードでは、各ルート遷移の前に呼び出される beforeEach ガードを定義します。このガードでは、ユーザーがホームページ以外のページに移動しようとしているかどうかをチェックします。その場合、警告ボックスがポップアップ表示され、このアクションを本当に行うかどうかをユーザーに尋ねます。ユーザーが確認をクリックすると、新しいルートにリダイレクトされます。ユーザーが「キャンセル」をクリックすると、ナビゲーションはキャンセルされます。

最後に、このルート ガードを Vue コンポーネントで使用する必要がありますが、これを行うには、ルーターを Vue コンポーネントにインポートし、ルーター フック関数を追加します。以下に例を示します。

import router from './router'

export default {
  name: 'App',
  router,
  mounted () {
    this.$router.beforeEach((to, from, next) => {
      if (to.name !== 'Home') {
        if (window.confirm('你确定要离开这个页面吗?')) {
          next()
        } else {
          next(false)
        }
      } else {
        next()
      }
    })
  }
}

上記のコードでは、App コンポーネントのマウントされたメソッドに beforeEach ルート ガードを追加しました。

結論

この記事では、Vue Router と Vue コンポーネントを使用してナビゲーション警告を実装する簡単な方法を紹介しました。このアプローチは少し面倒ですが、より安全で信頼性の高い対話型エクスペリエンスをユーザーに提供できます。 Vue および Vue Router を使用している場合は、この方法を使用してアプリケーションに追加のセキュリティを追加します。

以上がvue がページにジャンプしたときにプロンプ​​トをポップアップ表示する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Reactの限界は何ですか?Reactの限界は何ですか?May 02, 2025 am 12:26 AM

raceslimitationsinclude:1)asteeplearningcurveduetoitsvastecosystem、2)seochallengeswithsclient-siderEndering、3)潜在的なパフォーマンスのinlargeapplications、4)complenstatemanagementasappsgrow、and5)suneedtokeepupwithovolution

Reactの学習曲線:新しい開発者にとっての課題Reactの学習曲線:新しい開発者にとっての課題May 02, 2025 am 12:24 AM

ReactisChallengingを使用して、SteepLearNdParadigMshiftOconpontenAchitecture.1)startisofficialdocumentation forasolidfoundation.2)relondingjsxandjavascriptwithinit.3)LearntousefunctionalcompotontiTateを理解してください

反応の動的リストの安定したユニークなキーを生成する反応の動的リストの安定したユニークなキーを生成するMay 02, 2025 am 12:22 AM

coreChallengeingEneratingは、duniqueys consinistinsidentifientiversre-renderseforeffiencedomupdates.1)aseenaturalKeysisisisisisisisedisederiableiableiaibuniqueandStable.2)denatekeysBaseTheBasedOnMultipreattributive.2)を無効にすることを非難することを解決します

JavaScriptの疲労:Reactとそのツールで最新の状態を維持しますJavaScriptの疲労:Reactとそのツールで最新の状態を維持しますMay 02, 2025 am 12:19 AM

javascriptfatigueinReactismainageable with rikeislikedivedingingindininginginformationscors.1)whatyouneedwhenyouneedit、focusingonprojectrelevance.2)

UseState()フックを使用するコンポーネントをテストしますUseState()フックを使用するコンポーネントをテストしますMay 02, 2025 am 12:13 AM

ESTESTROACTCOMPONENTSINGTHESESTATEHOOK、USEJESTANDREACTINTINGLIBRARYTOSIMULATE INTERACTIONSIONDANDVERIFYISTAMESISINTHEUI.1)RENDERTHECONCENTANDCHECKECHINITATA.2)SimulateUserIractionSionsionsionsionsionsionslikeClickSorformSubmissions.3)

Reactのキー:パフォーマンスの最適化技術への深い飛び込みReactのキー:パフォーマンスの最適化技術への深い飛び込みMay 01, 2025 am 12:25 AM

keysinReactarecialforptimizingperformancebyididingineffictientListupdates.1)usekeystoidentifideidifyandtracklistelements.2)ArrayIndi​​cesassyStopreventPerformanceSues.3)suoseStableidedifierslikeItem.idtomaincomentaindtateandiproveperift

Reactのキーとは何ですか?Reactのキーとは何ですか?May 01, 2025 am 12:25 AM

ReactKeySareUniqueIdentifiersiersiderSuredStrovereconconiniationEfficiency.1)theyctrackChangesinListitems、2)sultanduniqueidentifiersiirsiTeemidssisssississmendを使用して、3)ArrayIndi​​cesAssayStopReventisSuseSUSEORINGを回避します

反応におけるユニークな鍵の重要性:一般的な落とし穴を避ける反応におけるユニークな鍵の重要性:一般的な落とし穴を避けるMay 01, 2025 am 12:19 AM

sinqueysarecrucialinReactforoptimizing andMaintainingcomponentStateIntegrity.1)useanaturaluniqueidentifierfromyourdataifaibable.2)ifnonaturalidentifierexists、発電済みのKeyusingingingingalibrarylikuuid.3)

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!