IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 搭建SPA项目&&SPA项目中使用路由&&嵌套路由 -> 正文阅读

[JavaScript知识库]搭建SPA项目&&SPA项目中使用路由&&嵌套路由

目录

一、vue-cli建立SPA项目

? ? ? ? 1.1?安装vue-cli

? ? ? ? 1.2?命令构建SPA项目

? ? ? ? 1.3?导入编码器

? ? ? ? 1.4?SPA项目运行访问过程

二、SPA项目使用路由

? ? ? ? 2.1?定义组件

? ? ? ? 2.2?定义组件与路由的关系

? ? ? ? 2.3?定义触发事件

? ? ? ? 2.4?测试

三、嵌套路由

? ? ? ? 3.1 嵌套路由案例

????????3.2 实现步骤:

? ? ? ? 3.3?结论


一、vue-cli建立SPA项目

? ? ? ? 1.1?安装vue-cli

????????????????两个下载指令:

????????????????????????npm install -g vue-cli

????????????????????????npm install webpack -g

第二个指令:

下载好后:

? ? ? ? 1.2?命令构建SPA项目

????????????????我们在一个非中文目录的文件夹中运行cmd,

????????????????输入指令:

????????????????vue init webpack spa

脚手架构建完成

项目目录:

? ? ? ? 1.3?导入编码器

????????????????接着我们就把我们构建好的项目导入我们的编码器中,Leaf这里用的是前端代码编码器HBuilderX;

然后一定记得要先进入我们的项目,再输入运行指令:npm run dev

运行测试一下我们的项目:

然后我们就会得到一个地址,我们复制下来进行访问;

运行页面:

? ? ? ? 1.4?SPA项目运行访问过程

????????????????到这里我们在一起来看看spa项目的访问过程,它是经过了那些文件;

这个就需要结合大家自己建立的spa项目的文件来进行观看了;

① 首先访问根目录的index.html;

② index.html通过main.js中的vue实例管理(#app边界),同时指定App.vue模板;

③ App.vue中包含了logo图片以及锚点,而锚点与组件的对应关系存在router/index.js中,所以就指向了一个组件;

④ 最终App.vue中就显示了logo图片,以及Helloworld.vue的内容。


二、SPA项目使用路由

? ? ? ? 2.1?定义组件

????????????????我们定义两个组件:在components

Home组件:

<template>
  <div>这是首页内容,展示最新的10篇博客</div>
</template>

<script>
export default {
  name: 'Home',
  data () {
    return {
      msg: 'Welcome to Your Vue.js App'
    }
  }
}
</script>
<style>
</style>

About组件:

<template>
  <div>
    这是关于本站显示的内容区域,本站的发展史...
  </div>
</template>

<script>
export default {
  name: 'About',
  data () {
    return {
      msg: 'Welcome to Your Vue.js App'
    }
  }
}
</script>
<style>
</style>

? ? ? ? 2.2?定义组件与路由的关系

这个我们需要在router里面的index.js中定义;

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Home from '@/components/Home'
import About from '@/components/About'

Vue.use(Router)

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

? ? ? ? 2.3?定义触发事件

我们在App.vue中定义触发事件:

/* 触发事件 */ 
<router-link to="/Home">首页</router-link> 
<router-link to="/About">关于</router-link>

? ? ? ? 2.4?测试

最后让我们来一起测试一下:


三、嵌套路由

? ? ? ? 3.1 嵌套路由案例

????????????????我们以一个案例来看看嵌套路由是如何实现的:

? ? ? ? ? ? ? ??案例:

点击“关于”按钮,会弹一个窗口,

窗口拥有两个按钮、也就是两个触发事件,

并且两个按钮又可以分别弹出不同的内容;

????????3.2 实现步骤:

① 在“关于”的组件中添加两个触发事件、定义锚点;

② 分别为其定义组件;

③ 定义组件与路由的关系;

触发事件:

<div>
    <!-- 这是关于本站显示的内容区域,本站的发展史... -->
    <!-- 两个触发事件 -->
    <router-link to="/AboutMe">关于站长</router-link>
    <router-link to="/AboutWebSite">关于本站</router-link>
    <!-- 定义锚点 -->
    <router-view></router-view>
</div>

定义组件:

AboutMe:

<template>
  <div>
    站长Leaf在xxx公司有着N年项目经验,带领数十人完成重大项目的研发...
  </div>
</template>

<script>
export default {
  name: 'AboutMe',
  data () {
    return {
      msg: 'Welcome to Your Vue.js App'
    }
  }
}
</script>
<style>
</style>

AboutWebSite:

<template>
  <div>
    网站历史:网站于2003年创建,运作十余年,风风雨雨什么经历都有过...
  </div>
</template>

<script>
export default {
  name: 'AboutWebSite',
  data () {
    return {
      msg: 'Welcome to Your Vue.js App'
    }
  }
}
</script>
<style>
</style>

定义组件与路由的关系:

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Home from '@/components/Home'
import About from '@/components/About'
import AboutMe from '@/components/AboutMe'
import AboutWebSite from '@/components/AboutWebSite'

Vue.use(Router)

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

?最后我们就可以来测试一把啦:

关于站长:

关于本站:

? ? ? ? 3.3?结论

嵌套路由的使用主要其实就是在定义路由与组件的关系的时候,添加了children

OK,测试完毕!!!

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:05:12  更:2022-09-13 11:05:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:38:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码