VUE单页面 路由

1. 安装 Vue 和设置项目

首先,确保你已经安装了 Node.js 和 npm(或 Yarn),然后使用 Vue CLI 创建一个新的项目。

安装 Vue CLI

如果你没有安装 Vue CLI,可以通过以下命令来安装:

npm install -g @vue/cli

创建项目

然后,使用 Vue CLI 创建一个新项目:

vue create my-vue-app

根据提示选择你需要的配置项,比如选择默认配置或手动配置。

进入项目文件夹
cd my-vue-app

2. 了解项目结构

Vue CLI 创建的项目包含几个重要的文件夹和文件:

  • src/: 存放应用的源代码
    • assets/: 存放静态资源(如图片、字体)
    • components/: 存放 Vue 组件
    • views/: 存放视图页面组件
    • router/: 存放路由相关的配置
    • App.vue: 应用的根组件
    • main.js: 应用的入口文件
  • public/: 存放公共文件,如 index.html 等。

 

3. 创建视图组件

在 Vue 中,单页面应用(SPA) 是通过不同的视图组件来展示的,这些组件一般存放在 src/views/ 文件夹中。

假设我们要做一个简单的 SPA,包含首页和关于页,我们可以创建两个视图文件:

Home.vue

<template><div class="home"><h1>欢迎来到首页!</h1></div>
</template><script>
export default {name: 'Home',
}
</script><style scoped>
.home {text-align: center;
}
</style>

 About.vue

<template><div class="about"><h1>关于我们</h1></div>
</template><script>
export default {name: 'About',
}
</script><style scoped>
.about {text-align: center;
}
</style>

 

4. 设置 Vue Router

Vue 的路由系统(Vue Router)负责在不同的视图组件之间切换。在单页面应用中,不同的 URL 会对应不同的视图。我们可以通过 Vue Router 来管理这些视图。

安装 Vue Router 

如果使用 Vue CLI 创建的项目没有默认安装 Vue Router,你需要手动安装它:

npm install vue-router

 

配置 Vue Router

src/router/index.js 中,配置路由信息:

import Vue from 'vue'
import Router from 'vue-router'
import Home from '../views/Home.vue'
import About from '../views/About.vue'Vue.use(Router)export default new Router({routes: [{path: '/',name: 'home',component: Home},{path: '/about',name: 'about',component: About}]
})

 

连接路由到主组件

src/main.js 中,导入 Vue Router 并将其添加到 Vue 实例中:

import Vue from 'vue'
import App from './App.vue'
import router from './router'Vue.config.productionTip = falsenew Vue({render: h => h(App),router  // 将 router 添加到 Vue 实例中
}).$mount('#app')

 

5. 更新 App.vue 以显示路由

App.vue 中使用 <router-view></router-view> 来显示路由视图。

<template><div id="app"><div><router-link to="/">首页</router-link><router-link to="/about">关于</router-link></div><router-view></router-view>  <!-- 这里会展示当前路由的视图 --></div>
</template><script>
export default {name: 'App'
}
</script><style>
/* 添加一些简单的样式 */
</style>

 6. 启动开发服务器

在项目根目录下,运行以下命令启动开发服务器:

npm run serve

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/59798.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于vue3实现的聊天机器人前端(附代码)

<template><div class"container"><!-- 页面头部 --><header><h1>跟它说说话吧&#xff01;</h1><p>一个活泼的伙伴&#xff0c;为你提供情感支持&#xff01;</p></header><!-- 聊天容器 --><div c…

【安卓13 源码】Input子系统(4)- InputReader 数据处理

1. 多指触控协议 多指触控协议有 2 种&#xff1a; > A类&#xff1a; 处理无关联的接触&#xff1a; 用于直接发送原始数据&#xff1b; > B类&#xff1a; 处理跟踪识别类的接触&#xff1a; 通过事件slot发送相关联的独立接触更新。 B协议可以使用一个ID来标识触点&…

Uniapp的学习

uniapp的内容和vue网页开发会有很多区别&#xff0c;但是都是基于vue开发的&#xff0c;大多数业务还是在vue打交道&#xff0c;但是这些uniapp的特殊的知识点也是要掌握好的。 基本配置 创建uniapp项目 npx degit dcloudio/uni-preset-vue#vite-ts 项目名 &#xff1a;用于…

Windows Server 怎么关闭IE增强安全配置(关闭IE弹窗)

首先第一步打开IE浏览器&#xff0c;根据下图所示&#xff0c;访问网页时会弹出警告窗口。 打开【控制面板】图标。查看方式改为小图标&#xff0c;打开【管理工具】 第五步进入【管理工具】页面后&#xff0c;找到并双击【服务器管理器】选项。 第六步在弹出的窗口中&#…

鸿萌数据迁移服务: 企业服务器整机在线热迁移, 实现不停机业务转移

天津鸿萌科贸发展有限公司从事数据安全服务二十余年&#xff0c;致力于为各领域客户提供专业的数据存储、数据恢复、数据备份、数据迁移等解决方案与服务&#xff0c;并针对企业面临的数据安全风险&#xff0c;提供专业的相关数据安全培训。 鸿萌数据迁移业务为众多企业顺利高效…

vue2组件封装和UI组件的二次封装,方法,属性,ref的传递

封装组件使用v-model 使用方法props接受value值&#xff0c;当值发生变化的时候再通过this.$emit("input", newValue)&#xff0c;则实现了简单组件的v-model封装,如果不使用第三方UI可以接受到的值使用watch或者计算属性保存&#xff0c;然后再通过事件派发自己保存…

无网络安装ionic和运行

npm 安装本地文件 之前使用npm安装包都是在有网络环境下&#xff0c;因为需要部署无互联网环境开发&#xff0c;才知道如何使用npm安装包安装本地文件/文件夹 >npm install <folder>如果 <folder> 位于项目的根目录中&#xff0c;它的依赖项将被安装&#xff…

ChatGPT 新体验:AI 搜索功能与订阅支付指南

就在凌晨&#xff0c;在 ChatGPT 迎来两周岁生日之际&#xff0c;OpenAI 重磅发布了 ChatGPT 的全新人工智能搜索体验。 期待已久的时刻终于到来&#xff0c; ChatGPT 正式转型成为一款革命性的 AI 搜索引擎&#xff01; 先来看看 ChatGPT 搜索&#xff1a;这次不是简单的加个…

测试开发面试题记录

1. TCP与UDP的区别及应用场景 TCP (传输控制协议)&#xff1a; 特点&#xff1a;面向连接&#xff0c;可靠性高&#xff0c;数据顺序保证&#xff0c;流量控制和拥塞控制。应用场景&#xff1a;文件传输&#xff08;FTP&#xff09;&#xff0c;电子邮件&#xff08;SMTP&#…

[JAVAEE] 面试题(四) - 多线程下使用ArrayList涉及到的线程安全问题及解决

目录 一. 多线程下使用ArrayList 1.1. 自行判断加锁 1.2 使用Collections.synchronizedList()套壳加锁 1.3 CopyOnWriteArrayList类 二. 总结 一. 多线程下使用ArrayList 多线程下使用ArrayList会涉及到线程安全问题, 例如: public static void main(String[] args) thro…

canal1.1.7使用canal-adapter进行mysql同步数据

重要的事情说前面&#xff0c;canal1.1.8需要jdk11以上&#xff0c;大家自行选择&#xff0c;我这由于项目原因只能使用1.1.7兼容版的 文章参考地址&#xff1a; canal 使用详解_canal使用-CSDN博客 使用canal.deployer-1.1.7和canal.adapter-1.1.7实现mysql数据同步_mysql更…

DevExpress中文教程 - 如何使用AI模型检查HTML编辑中的语法?

DevExpress .NET MAUI多平台应用UI组件库提供了用于Android和iOS移动开发的高性能UI组件&#xff0c;该组件库包括数据网格、图表、调度程序、数据编辑器、CollectionView和选项卡组件等。 目前许多开发人员正在寻找多种方法将AI添加到解决方案中&#xff08;这通常比想象的要…

【推荐】iptables学习宝典

链接&#xff1a; IPtables-朱双印博客 学习iptables的抗鼎之作&#xff0c;推荐。

sudo docker ps才能查看,docker ps不能查看问题

出现 permission denied while trying to connect to the Docker daemon socket 的错误&#xff0c;通常是因为当前用户没有权限访问 Docker 的 Unix 套接字 /var/run/docker.sock。在 Linux 系统中&#xff0c;这个套接字默认只能由 root 用户或 docker 组的成员访问。 要解决…

二维数组和数组指针数组的关系

在深入理解指针end中&#xff0c;我在最后写了一长段代码 #include<stdio.h> void test1(int arr[][5], int x, int y) //void test1(int(*p)[5], int x, int y) {for (int i 0; i < x; i){for (int j 0; j < y; j){//printf("%d ", *(*(p i) j));p…

vue+websocket实现即时聊天平台

目录 1 什么是websocket 2 实现步骤 2.1 导入依赖 2.2 编写代码 1 什么是websocket WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。它主要用于在客户端和服务器之间建立持久的连接&#xff0c;允许实时数据交换。WebSocket 的设计目的是为了提高 Web 应用程序的…

# RabbitMQ学习

RabbitMQ 1、RabbitMQ是什么&#xff1f; RabbitMQ 是一个开源的消息中间件系统&#xff0c;主要用于在分布式系统中存储、转发和接收消息。它实现了 AMQP&#xff08;高级消息队列协议&#xff09;标准&#xff0c;能够帮助构建可靠且高效的分布式应用程序 2、RabbitMQ能做…

Docker Compose V2 安装

要安装 docker-compose-plugin&#xff0c;需要确保系统已安装 Docker 引擎&#xff0c;因为 docker-compose-plugin 是 Docker CLI 的插件&#xff08;Docker Compose V2&#xff09;。以下是详细指南&#xff1a; 1. 安装 Docker 引擎&#xff1a; 确保系统上安装了 Docker…

【D3.js in Action 3 精译_038】4.2 D3 折线图的绘制方法及曲线插值处理

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第一部分 D3.js 基础知识 第一章 D3.js 简介&#xff08;已完结&#xff09; 1.1 何为 D3.js&#xff1f;1.2 D3 生态系统——入门须知1.3 数据可视化最佳实践&#xff08;上&#xff09;1.3 数据可…

Git 的分支管理

一、分支介绍 1、分支是什么 Git作为一个分布式版本控制系统&#xff0c;提供了强大而灵活的分支管理功能&#xff0c;使得开发团队能够高效地协作开发、管理不同的功能和版本。 2、为什么有分支 一般情况下主分支&#xff08;master/main&#xff09;应始终保持可部署的状…