文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Vue嵌套路由怎么使用

2023-07-04 12:17

关注

这篇“Vue嵌套路由怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue嵌套路由怎么使用”文章吧。

用 Vue CLI 进行设置

如果尚未安装,请运行以下命令全局安装 Vue CLI:

$ npm install -g @vue/cli

或者

$ yarn global add @vue/cli

现在你能从命令行运行 vue 命令了。让我们创建一个名为 alligator-nest 的 Vue 应用:

$ vue create alligator-nest

在提示符下选择默认预设(按 Enter 键)。之后,运行以下命令:

$ npm install vue-router

然后,在你选择的编辑器中打开 alligator-nest 目录。

基本代码

以下 CSS 将帮助我们为 UI 定位元素。将其作为样式表文件添加到 public/ 文件夹中,并在 public/index.html  中引用它。为此,我们将使用 CSS grid:

grid.css:

.row1 {   grid-row-start: 1;   grid-row-end: 2; }  .row12 {   grid-row-start: 1;   grid-row-end: 3; }  .row123 {   grid-row-start: 1;   grid-row-end: 4; }  .row2 {   grid-row-start: 2;   grid-row-end: 3; }  .row23 {   grid-row-start: 2;   grid-row-end: 4; }  .row3 {   grid-row-start: 3;   grid-row-end: 4; }  .col1 {   grid-column-start: 1;   grid-column-end: 2; }  .col12 {   grid-column-start: 1;   grid-column-end: 3; }  .col123 {   grid-column-start: 1;   grid-column-end: 4; }  .col1234 {   grid-column-start: 1;   grid-column-end: 5; }  .col2 {   grid-column-start: 2;   grid-column-end: 3; }  .col23 {   grid-column-start: 2;   grid-column-end: 4; }  .col234 {   grid-column-start: 2;   grid-column-end: 5; }  .col3 {   grid-column-start: 3;   grid-column-end: 4; }  .col34 {   grid-column-start: 3;   grid-column-end: 5; }  .col4 {   grid-column-start: 4;   grid-column-end: 5; }

接下来,让我们对 vue-cli 添加的默认文件进行一些更改。

从 src/components 文件夹中删除 HelloWorld.vue,并从 src/App.vue 中删除所有与其相关的东西。对 App.vue  中的 HTML 标记和 CSS 样式进行以下修改。

<template>   <div id="app">     <h2 class="row1 col12">Alligator Nest</h2>     <a class="row1 col3">Travels</a>     <a class="row1 col4">About</a>     <div class="row2 col234"></div>   </div> </template> html, body {   height: 100vh;   width: 100vw;   padding: 0;   margin: 0; }  #app {   font-family: Avenir, Helvetica, Arial, sans-serif;   -webkit-font-smoothing: antialiased;   -moz-osx-font-smoothing: grayscale;   color: #2c3e50;   padding: 2%;   height: 100%;   display: grid;   grid-template-rows: 20% 80%;   grid-template-columns: 25% 25% 25% 25%; }

如果你在项目的根目录中运行 npm run serve,则可以将鼠标悬停在浏览器中的 localhost:8080 上,并查看框架布局。那些  display:grid 属性很有用!现在我们可以开始创建路由了。

输入 Vue 路由

在 /components 文件夹中创建一个名为 AboutPage.vue 的组件。它看起来像这样:

<template>   <div>     <h3>About</h3>     <p>Alligators were around during the time of the dinosaurs.</p>   </div> </template>  <script>   export default {     name: 'AboutPage',   } </script>  <style scoped>    </style>

现在我们的 main.js 文件需要 /about 路由。它看起来像这样。

import VueRouter from 'vue-router'; import Vue from 'vue'; import App from './App.vue';  Vue.config.productionTip = false;  import VueRouter from 'vue-router'; Vue.use(VueRouter);  import AboutPage from './components/AboutPage.vue';  const routes = [   { path: '/about', component: AboutPage }, ]  const router = new VueRouter({   routes })  new Vue({   render: h => h(App),   router }).$mount('#app');

最后,让我们回到 App.vue,并将 “About” 的锚标记更改为属性为 to="/about"的

现在,我们有了一个功能齐全的站点框架,并为 “About” 页面处理了路由。

我们在此重点介绍路由功能,因此不会在样式上话费太多时间。尽管如此,我们也要让Travels 页面看起来更精致一些。

首先,创建一个 TravelPage,方法与创建 AboutPage 相同。在 main.js 中引用它。

还需要创建以下两个组件,这些组件最终将嵌套在 TravelPage.vue 中:

TravelAmericaPage.vue

<template>   <div>     <p>Alligators can be found in the American states of Louisiana and Florida.</p>   </div> </template>  <script>   export default {     name: 'TravelAmericaPage'   } </script>  <style scoped> </style>

TravelChinaPage.vue

<template>   <div>     <p>Alligators can be found in China's Yangtze River Valley.</p>   </div> </template>  <script>   export default {     name: 'TravelChinaPage'   } </script>  <style scoped>  </style>

配置嵌套路由

现在,让我们同时更新 main.js 和 TravelPage.vue,以使用 children 来引用这些嵌套路由。必须将 main.js 更新为对  routes 常量具有以下定义:

const routes = [   {     path: '/travel', component: TravelPage,     children: [       { path: '/travel/america', component: TravelAmericaPage },       { path: '/travel/china', component: TravelChinaPage}     ]   },   {     path: '/about', component: AboutPage   } ];

请注意,子级的嵌套可以无限继续下去。

并且 TravelPage.vue 可以通过以下方式编写:

TravelPage.vue:

<template>   <div id="travel">     <h3 class="row1">Travels</h3>     <div class="flex-container row2">       <router-link to="/travel/america">America</router-link>       <router-link to="/travel/china">China</router-link>     </div>     <router-view class="row3"></router-view>   </div> </template>  <script>   export default {     name: 'TravelPage'   } </script>  <style scoped> div {   text-align: center; }  #travel {   display: grid;   grid-template-rows: 20% 40% 40%; }  .flex-container {   display: flex;   justify-content: space-around; } </style>

检出 localhost:8080,你将看到 Travels 页面中包含 2 个子页面!当你单击任一链接时,我们的 URL 也会相应更新。

以上就是关于“Vue嵌套路由怎么使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯