Vue 路由器入门指南

      最后更新:2022-03-11 12:14

      在这一课程中,我们将学习如何利用Vue路由器在 Vue 应用程序中创建路径。 我们还将开发一个与 Vue 和 Vue 路由器的小波克德应用程序。

      我们将详细阐述以下各点:

      • 设置路由器
      • 路由参数
      • 声明式和程序化导航
      • 嵌套路由
      • 404 页

      任何支持建立单页应用程序的 JavaScript 界面框架都需要使用一种方法将用户从一页通到下一页。客户端必须处理所有这一切, 将当前在网站上显示的视图与地址栏中的 URL 同步 。在韦族的世界里,Vue路由器是负责此类任务的[官方银行]。

      与过去一样,GitHub网站也提供资料来源。

      先决条件

      为了充分利用该学院,需要开展以下工作:

      • 基本 HTML、 CSS、 JavaScript 和 Vue 需要专业知识。 如果您知道如何使用 Vue 在页面上显示任何信息, 您应该能够跟随。 还需要对 API 的基本理解 。
      • 在您的系统中安装了 Node.js 和 Vue CLI 。 因为在本课程中我们将使用 Vue 3, 请确保 Vue CLI 更新 。

      应用概览

      我们将创建一份波克特申请书, 分三页:

      • 列出所有151个原始口袋怪兽的默认页。
      • 这是袖珍怪兽页面, 我们提供基本信息, 如种类和描述。
      • 口袋怪兽详细细节页面。这是我们展示我们不断增长的才智、能力和动作的地方。

      设置应用程序

      使用 Vue CLI 开始一个新的 Vue 应用程序 :

      选择 Vue 3 :

      在此之后,在项目文件夹中打开并安装所需的图书馆:

      请注意,而不是Vue路由器3,我们使用Vue路由器4。当您进行谷歌搜索时, 这是您看到的默认结果 。在Nett,我很抱歉, router。 对不起, Vuejs。 我不知道该做什么, 做什么,做什么,做什么,做什么, 做什么,做什么,做什么,做什么,做什么,做什么,做什么。正在利用Axios向PokeaPI v2提交请求。

      最好在现阶段启动该项目,以确认默认 Vue 应用程序运行正常:

      在浏览器上,请访问 http://localhost:8080/, 看看默认 Vue 应用程序是否正在运行。 它应该看到 :

      下一步, 添加 ass- loader 作为发展依赖者 。 为了这个课程, 最好使用和我一样的版本 。 这是因为, 在编写本报告时, 最新的版本与 Vue 3 不符 。

      基于上述同样的理由, 也必须安装节点ass。 您应该使用与我相同的版本 :

      请记住,如果这种安装Sass的方法不适合你,当使用 CLI 创建 Vue 应用程序时, 您可以选择手动选择功能 。然后,选择 CSS 预处理器和 Sass/SS (带 dart-ass ) 。

      创建应用程序

      现在,我们将开始构建应用程序。 当您继续时, 请记住根目录是 src 文件夹 。

      js 文件从“ 更新主” 开始。 这是我们导入的 root 组件, App. I'm 不确定, vue, and rooter/ index. Js 指出所有与路径相关的文档是 :

      设置路由器

      App. vue 文件使用了 router-viewVue路由器组件。 这是 Vue 路由器所使用的顶层组件, 显示用户可以访问的当前路径的以下组件 :

      接下来,将以下内容添加到新的 root/ index.js 文件 。要创建路由器,创建 Router 必须从 Vue 路由器中提取 。让我们树立一个新的路由器榜样。同时,创建 HTML5 历史记录。基本上就是神秘的API包装当我们从页面移到页面时,它允许在Vue路由器的操作地址栏中输入以下地址:
      createWebHistorycreateRoutercreateWebHistory

      在此标题下输入所有我们使用的页面 :

      路径Vue路由器需要一组具有以下属性的天体:名称和属性:

      • 这就是你所要寻找的模式。 在下面的代码中, 我们正在匹配根路径。 因此, 如果用户试图访问 http:// localhost: 8,00, 这个模式是匹配的 。
      • 名称: 页面的名称。 这是您从其它页面浏览到此页面时使用的页面的单个标识符 。
      • 方程式 : 当用户访问的 URL 匹配时, 您想要显示的组件 。

      最后,通过提供含有历史和根线的物品来创建路由器是路由器创建的一个例子:

      我们现在需要的就是这些。你可能想知道其他页面在哪里。我们稍后再添加。让我们从默认页面开始。

      创建页面

      构建一页并不包含任何额外的代码。 因此, 如果您知道如何在 Vue 创建自定义组件, 您应该能够为 Vue 路由器创建一个页面 。

      将以下代码添加到视图/ Pokemon List. vue 文件 。在此文件中,要显示 Pokemon 列表, 我们使用自定义列表组件 。我们实际上需要做的就是提供清单组成部分的数据。安装组件后,POKAPI收到了我们的请求我们不希望名单太长。因此,我们把结果限制在原来的151Pokémon。一旦我们得到结果,剩下的就是在物品数据的各个组成部分之间分发。因此,将更新名单构成部分:

      这是列表组件的代码。 组件保存在组件目录中, 生成组件/ 列表 。

      样式/ 列表可在 GitHub 仓库中找到。 Scs 文件的代码 。

      您现在应该可以在浏览器中查看更新,除非您收到以下错误:

      这是因为Vue试图建立与Pokemon网站的链接。但还没有。Vue CLI已经够聪明了可以警告你。您可以使用 a<div>代替components/List.vue文件模板来临时解决此问题:

      您应该可以这样看到“ 袖珍魔鬼” 列表 。 如果您添加了 Pokemon 页面, 请记住稍后再修改它 。

      声明式导航

      此项目是泰国2011年大选特别报导的一部分。有两种途径可循:说明和方案拟定。声明导航与 HTML 中的锚标记非常相似。您只需要指定链接的位置 。另一方面,Vue路由器的可见呼叫用于程序导航 。在进行用户活动(例如单击链接)时,它会导航到某一页,按下按钮。

      让我们简单看看它是如何运作的。要导航,您必须使用根链接组件 。唯一需要的属性是 : to。 这是包含该名称要导航的页面的对象 。以及用于提供要传送到页面的参数的可选对象。在这种情况下,我们用Pokemon的名字输入:

      要理解它如何运作, 您必须首先掌握 Pokemon 屏幕上所用的图案。 这是它看起来像/ Pokemon/ : name: name 指定您提供的参数。 例如, 如果用户想要查看 Pikachu, URL 将如下 :
      网站:http://localhost:8,00/pokemon/pikachu。

      路由参数

      我们已经看到如何将路线与某些模型相匹配, 但我们还没有看到如何传递到定义参数中。 我们已经在根链接前简短地看到了它。

      以下页面(pokemon)将用于演示Vue路由器的路线参数功能。为此,在参数名称之前简单使用冒号 (:) 。在下面的例子中,我们想转告Pokemon这个名字因此,我们增添了名称,这表明,如果我们想走这条特定的道路,我们必须为此参数提供一个值 。如前一个根链接示例所示,这就是我们传递口袋怪兽名字的地方:

      这是Pokemon 页面( 视图/ Pokemon) 。 这是 vue 代码 。与上一个 Pokemonlist 页面相似,我们把UI代表到另一个部分,基本细节。当组件被挂载时,我们向API/Pokemon终点点发出呼吁。要获得小盒怪兽的名字作为路由参数,哦 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 、 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 、 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 、 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 耶 在这种情况下,它被称为。如果你被作为替代物使用,yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yea, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, ye, yeah, ye, ye, ye, yeah, ye, yeah, yeah, yeah, yeah, yeah, ye, yeah, yea, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye, ye,

      基本细节部分如下。
      这篇文章是我们对2011年埃及抗议的特别报导的一部分。

      可在GitHub仓库找到
      我不确定样式/类型。 我不确定Scandstystems/pokemon。 Scs 文件的代码 。

      此时,您应该能够再次在浏览器中看到更改。您还可以将components/List.vue文件更新回其原始代码,router-link而不是<div>.

      程序化导航

      你可能注意到我们改变了基本细节部分我们实际上没有使用根链接 去波克蒙迪迪斯。相反。我们使用了锚元素 拦截了它的点击活动这就是基于程序的导航工作方式。我们可以连接到路由器 美元路由器下一步我们使用 Push () 函数在历史堆叠的顶部添加新页面 。路由器将任何页面放在列表的顶端 。当用户使用浏览器的后按钮时,3⁄4 ̄ ̧漯B因此,你只需要点击它,将当前页面 " 弹出 " 到历史堆叠的顶部。此方法可接受带有属性名称和params的对象 。以及你交给Toroter-link的财产:

      嵌套路由

      然后将路由器文件与 Pokemon 详细信息页面链接修改。 在此, 我们使用嵌入路由发送多个自定义参数。 在此示例中, 我们输入名称和名称指定 _ id :

      我不知道你们在说什么,比如:这是Pokemon Details页面(视图/pokemon Details)的代码。

      这是"更详细"组件的代码
      components/MoreDetails.vue):

      您可以在
      我不确定 GitHubstems / more details. 看看文件在文件库里的内容 。

      此时, 您可以单击任何口袋怪物的名称来读取它的信息。 您可能需要重新启动服务器以查看更改 。

      404页

      现在所有页面都有密码了但如果用户在浏览器的地址栏中输入错误的 URL 呢?在这些情况下,它只会造成错误或无所作为。我们需要列入一种方法来拦截这些请求。因此,我们可以显示“404未找到”页面。

      打开路由器文件, 并导入此文件的不匹配页面 :

      路径的优先级由它们添加到路径数组的顺序决定。 这意味着第一个 URL 添加的符合用户的地址栏输入。 因此, 需要在结尾处的 404 页中添加一个模式 。

      在路线阵列中添加以下内容:

      熟悉路径吗? 我们使用自定义参数“ 路径匹配 ” 来匹配所提供的 URL 。 因此, 如果输入用户输入,
      http://localhost:800/Hey或http://localhost:800/hey/jude 将上NotFound网页。

      一切正常,但万一万一全能上方的图案真的匹配了呢?举例来说:

      • http://localhost:8000/pokemon/someinvalidpokemon
      • http://localhost:8000/pokemon/someinvalidpokemon/99999/details

      在某些情况下, " 全面抓获 " 模式并不匹配,因此我们需要一种机制来拦截此类请求。

      此类请求的最大问题是用户认为口袋怪兽或物种身份存在,但情况并非如此。 唯一的检查方法就是拥有一份有效的怪兽口袋清单。 将有效的怪兽口袋清单导入到您的路径文件 :

      此文件可在 GitHub 仓库中找到 。

      为了拦截这些请求Vue路由器提供了导航辅助设备。它们被视为导航过程中的“链接”。在Vue路由器导航到页面之前或之后,您可以采取某些行动。我们只能在航行完成前完成一次所以,如果我们在不匹配的条件下访问页面,这使我们能够改换到不同的页面。

      要在导航完成前连接当前请求, 我们在“ 每一个( ) ” 方法前先使用示例 : rooter 。

      Vue路由器发送两个参数 :

      • to:目标路线位置
      • 开始时间: 当前路线位置

      每个属性都包含在这些属性中。 我们对params感兴趣, 因为它包含用户在 URL 中通信的任何参数 。

      这是我们的情况。我们首先确定我们打算审查的参数是否存在。如果是,我们将继续评估其效力。第一个标准与Pokemon页面相对应。数组用于有效的pokemon 前面。我们把它比作.. 我不知道你在说什么,巴拉姆 我不知道你在说什么它包括用户传送的Pokemon的名称。另一方面,第二个标准与Pokemon Details页面相对应。在这里,我们正在重新检查物种身份我们只想和原来的101Pokémon匹配任何比此数字大的代号都被视为无效 。如果符合其中任何一项要求,我们只需要把404页的路径还回去如果条件不匹配,它会回到原来应该回到的地方:

      这是404页的代码(视图/非硬页)。我不知道你指的是什么。

      GitHub 中可以看到样式/ 找不到的仓库。 Scs 文件的代码 。

      应用程序已经提交。 您可以尝试查看无效的页面, 这将导致404页 。

      结论

      而已!在本教程中,你已经掌握了Vue路由器的基本原理设置路由器、通过海关参数、在各站点之间航行以及达到404页,将使你走得更远。如果你想知道你从这里要去哪里我建议你调查以下专题:

      • 提供路线部件的道具: 使您能够从路线参数中分离视图部件。 这提供了一种将路线参数与可以从部件中获取的道具交换路线参数的技术。 所以您没有钱 。
      • 切换: 用于切换动画页面。
      • 延迟装入 : 这更有利于速度, 因为捆绑的软件不会为单个文档中的所有页面编译代码。 相反, 它会推迟装入它, 以便浏览器只能在需要时下载特定页面的代码 。

      如果你觉得这篇文章有用 请给我一个三人组 欢呼声 前进声和评论声 下次见

      收藏和白种性别一样 真正的爱就是赞美

      我的朋友,如果你们想从JAVA采访档案中 得到任何信息 请赞美并归还

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类