前端Vue路由知识点【复习笔记】

驯服 AI 编程巨兽:Cursor 三种 AI 模式的区别详解 无论你是需要一个智能顾问来帮助理解代码,还是希望通过代码生成器快速实现项目,亦或是希望拥有一个能够处理复杂任务的智能伙伴,Cursor 的三种 AI 模式都能满足你的需求。每种模式都有其独特的优势和适用场景,关键在于根据具体的开发任务选择最合适的工具。最重要的是,立即关注我们的公众号,这样你就不会错过任何关于 Cursor 和其他智能编程工具的第一手信息。让我们携手共进,共同迎接编程的美好未来!期待在下一次推送中你再次相遇,祝你编码愉快!一招制胜:Agent模式才是cursor的王炸。 阅读详情

1.基本使用

  1. 安装vue-router,命令:npm i vue-router

  2. 应用插件:Vue.use(VueRouter)

  3. 编写router配置项:

    //引入VueRouter
    import VueRouter from 'vue-router'
    //引入Luyou 组件
    import About from '../components/About'
    import Home from '../components/Home'
    
    //创建router实例对象,去管理一组一组的路由规则
    const router = new VueRouter({
    	routes:[
    		{
    			path:'/about',
    			component:About
    		},
    		{
    			path:'/home',
    			component:Home
    		}
    	]
    })
    
    //暴露router
    export default router
    
  4. 实现切换(active-class可配置高亮样式)

    <router-link active-class="active" to="/about">About</router-link>
    
  5. 指定展示位置

    <router-view></router-view>
    

2.几个注意点

  1. 路由组件通常存放在pages文件夹,一般组件通常存放在components文件夹。
  2. 通过切换,“隐藏”了的路由组件,默认是被销毁掉的,需要的时候再去挂载。
  3. 每个组件都有自己的$route属性,里面存储着自己的路由信息。
  4. 整个应用只有一个router,可以通过组件的$router属性获取到。

3.多级路由(多级路由)

  1. 配置路由规则,使用children配置项:

    routes:[
    	{
    		path:'/about',
    		component:About,
    	},
    	{
    		path:'/home',
    		component:Home,
    		children:[ //通过children配置子级路由
    			{
    				path:'news', //此处一定不要写:/news
    				component:News
    			},
    			{
    				path:'message',//此处一定不要写:/message
    				component:Message
    			}
    		]
    	}
    ]
    
  2. 跳转(要写完整路径):

    <router-link to="/home/news">News</router-link>
    

4.路由的query参数

  1. 传递参数

    <!-- 跳转并携带query参数,to的字符串写法 -->
    <router-link :to="/home/message/detail?id=666&title=你好">跳转</router-link>
    				
    <!-- 跳转并携带query参数,to的对象写法 -->
    <router-link 
    	:to="{
    		path:'/home/message/detail',
    		query:{
    		   id:666,
                title:'你好'
    		}
    	}"
    >跳转</router-link>
    
  2. 接收参数:

    $route.query.id
    $route.query.title
    

5.命名路由

  1. 作用:可以简化路由的跳转。

  2. 如何使用

    1. 给路由命名:

      {
      	path:'/demo',
      	component:Demo,
      	children:[
      		{
      			path:'test',
      			component:Test,
      			children:[
      				{
                            name:'hello' //给路由命名
      					path:'welcome',
      					component:Hello,
      				}
      			]
      		}
      	]
      }
      
    2. 简化跳转:

      <!--简化前,需要写完整的路径 -->
      <router-link to="/demo/test/welcome">跳转</router-link>
      
      <!--简化后,直接通过名字跳转 -->
      <router-link :to="{name:'hello'}">跳转</router-link>
      
      <!--简化写法配合传递参数 -->
      <router-link 
      	:to="{
      		name:'hello',
      		query:{
      		   id:666,
                  title:'你好'
      		}
      	}"
      >跳转</router-link>
      

6.路由的params参数

  1. 配置路由,声明接收params参数

    {
    	path:'/home',
    	component:Home,
    	children:[
    		{
    			path:'news',
    			component:News
    		},
    		{
    			component:Message,
    			children:[
    				{
    					name:'xiangqing',
    					path:'detail/:id/:title', //使用占位符声明接收params参数
    					component:Detail
    				}
    			]
    		}
    	]
    }
    
  2. 传递参数

    <!-- 跳转并携带params参数,to的字符串写法 -->
    <router-link :to="/home/message/detail/666/你好">跳转</router-link>
    				
    <!-- 跳转并携带params参数,to的对象写法 -->
    <router-link 
    	:to="{
    		name:'xiangqing',
    		params:{
    		   id:666,
                title:'你好'
    		}
    	}"
    >跳转</router-link>
    

    特别注意:路由携带params参数时,若使用to的对象写法,则不能使用path配置项,必须使用name配置!

  3. 接收参数:

    $route.params.id
    $route.params.title
    

7.路由的props配置

​ 作用:让路由组件更方便的收到参数

{
	name:'xiangqing',
	path:'detail/:id',
	component:Detail,

	//第一种写法:props值为对象,该对象中所有的key-value的组合最终都会通过props传给Detail组件
	// props:{a:900}

	//第二种写法:props值为布尔值,布尔值为true,则把路由收到的所有params参数通过props传给Detail组件
	// props:true
	
	//第三种写法:props值为函数,该函数返回的对象中每一组key-value都会通过props传给Detail组件
	props(route){
		return {
			id:route.query.id,
			title:route.query.title
		}
	}
}

8.<router-link>的replace属性

  1. 作用:控制路由跳转时操作浏览器历史记录的模式
  2. 浏览器的历史记录有两种写入方式:分别为pushreplacepush是追加历史记录,replace是替换当前记录。路由跳转时候默认为push
  3. 如何开启replace模式:<router-link replace .......>News</router-link>

9.编程式路由导航

  1. 作用:不借助<router-link> 实现路由跳转,让路由跳转更加灵活

  2. 具体编码:

    //$router的两个API
    this.$router.push({
    	name:'xiangqing',
    		params:{
    			id:xxx,
    			title:xxx
    		}
    })
    
    this.$router.replace({
    	name:'xiangqing',
    		params:{
    			id:xxx,
    			title:xxx
    		}
    })
    this.$router.forward() //前进
    this.$router.back() //后退
    this.$router.go() //可前进也可后退
    

10.缓存路由组件

  1. 作用:让不展示的路由组件保持挂载,不被销毁。
  2. 缓存多个组件:①v-bind绑定include ②使用数组形式,中间逗号隔开(include也可以使用v-bind+正则表达式)
  3. 具体编码:News一定是组件名,不是路由名
    <keep-alive include="News"> 
        <router-view></router-view>
    </keep-alive>
    

11.两个新的生命周期钩子

  1. 作用:路由组件所独有的两个钩子,用于捕获路由组件的激活状态。

  2. 具体名字:

    1. activated路由组件被激活时触发。(看到)
    2. deactivated路由组件失活时触发。(看不到)

    特别注意:这两个钩子函数配合keep-alive使用

12.路由守卫

  1. 作用:对路由进行权限控制

  2. 分类:全局守卫、独享守卫、组件内守卫

  3. 全局守卫:

    //全局前置守卫:初始化时执行、每次路由切换前执行
    router.beforeEach((to,from,next)=>{
    	console.log('beforeEach',to,from)
    	if(to.meta.isAuth){ //判断当前路由是否需要进行权限控制
    		if(localStorage.getItem('school') === 'atguigu'){ //权限控制的具体规则
    			next() //放行
    		}else{
    			alert('暂无权限查看')
    			// next({name:'guanyu'})
    		}
    	}else{
    		next() //放行
    	}
    })
    
    //全局后置守卫:初始化时执行、每次路由切换后执行
    router.afterEach((to,from)=>{
    	console.log('afterEach',to,from)
    	if(to.meta.title){ 
    		document.title = to.meta.title //修改网页的title
    	}else{
    		document.title = 'vue_test'
    	}
    })
    
  4. 独享守卫:

    beforeEnter(to,from,next){
    	console.log('beforeEnter',to,from)
    	if(to.meta.isAuth){ //判断当前路由是否需要进行权限控制
    		if(localStorage.getItem('school') === 'atguigu'){
    			next()
    		}else{
    			alert('暂无权限查看')
    			// next({name:'guanyu'})
    		}
    	}else{
    		next()
    	}
    }
    
  5. 组件内守卫:

    //进入守卫:通过路由规则,进入该组件时被调用
    beforeRouteEnter (to, from, next) {
    },
    //离开守卫:通过路由规则,离开该组件时被调用
    beforeRouteLeave (to, from, next) {
    }
    

13.路由器的三种工作模式

  1. 对于一个url来说,什么是hash值?—— #及其后面的内容就是hash值。

  2. hash值不会包含在 HTTP 请求中,即:hash值不会带给服务器。

  3. hash模式:

    1. 地址中永远带着#号,不美观 。
    2. 若以后将地址通过第三方手机app分享,若app校验严格,则地址会被标记为不合法。
    3. 兼容性较好。
  4. history模式:

    1. 地址干净,美观 。
    2. 兼容性和hash模式相比略差。
    3. 应用部署上线时需要后端人员支持,解决刷新页面服务端404的问题。
  5. abstract模式:

    ​ 1.用于非浏览器环境,如服务器端和Node.js。如果是非浏览器环境会强制进入abstract模式

Cursor 2026高级工作流Composer、ChatTab补全的协同范式 AI编程助手已从代码补全工具演进为深度集成的智能开发工作流系统。其核心在于理解‘上下文—意图—契约’三层原理:上下文决定模型可感知的信息边界,意图驱动生成逻辑的精准性,契约保障人机协作的可靠性。技术价值体现在重构传统开发链路——将文档查阅、调试验证、跨服务编排等耗时环节压缩至秒级响应。典型应用场景包括微服务架构升级、领域驱动代码生成、生产级故障根因分析及ISO标准合规映射。本文聚焦Cursor在2026年落地的关键能力:Composer任务编排、Chat多轮状态对话、Tab补全意图推演,尤其深入解析架构上下 阅读详情

相关推荐

2026 AI开发工作流Cursor、WindsurfClaude Code协同实战指南

AI IDE已从单点辅助工具演进为工程级智能工作流基础设施。理解其底层原理——如代码索引机制、上下文建模粒度执行自主性分层——是构建高生产力开发体系的前提。Cursor聚焦行级/文件级实时补全重构,依赖本地AST解析Git工作树协同;Windsurf以Cascade为代表,具备跨文件任务规划环境感知能力,适合技术债治理模型盲测;Claude Code则通过终端原生Agent Teams实现百万token级仓库分析分布式漏洞审计。三者并非替代关系,而是覆盖‘写得快、改得准、看得全’三大核心场景的组

weixin_34050519的博客 455

Cursor这么久,我才发现这3个模式不是随便切的

写这篇文章不是要捧 Cursor,更不是要贬低 Agent 模式。Agent 模式确实牛,但它牛在"开新坑"上,不在"改老代码"上。很多新手觉得"用最聪明的模式就是最厉害",但实际上,最厉害的工程师不是会用 AI 的人,是知道什么时候不用 AI 的人。等你哪天能很自然地根据场景切模式、不再被 AI "顺手优化"坑到的时候,恭喜你,你已经超过了 80% 的 Cursor 用户。下次我打算写一篇CLAUDE.md和的对比——这俩文件我遇到的问题踩过的坑能再写一篇。关注我,别错过。

扛锄头的农民 412

Cursor深度解析:ComposerAgent模式原理及工程落地指南

IDE集成AI已从代码补全迈入工程自动化新阶段。Cursor并非VS Code插件式增强,而是基于本地化模型推理、多文件上下文索引状态驱动执行的下一代智能开发环境。其核心在于将开发流程抽象为可建模的状态机,通过Composer实现受控重构,借Agent完成端到端闭环交付。技术价值体现在断网可用、类型安全重构、命令链式自愈等工业级能力;典型场景覆盖全栈Demo快速搭建、微服务CI/CD初始化、嵌入式固件生成及生产级CR加固。本文聚焦‘cursor怎么设置成中文’‘cursor免费次数用完’等高频痛点,揭示界

weixin_28833069的博客 270

Cursor Composer 2.5:Targeted RL如何重构AI编程范式

AI编程助手正从基于概率的代码补全,迈向基于上下文推演的智能协同。Targeted RL(定向强化学习)作为新一代技术核心,不再依赖海量通用语料,而是实时构建项目级语义图谱,融合依赖配置、Git历史、团队规范意图流建模,实现‘理解项目而非仅理解语法’的跃迁。其技术价值在于将AI从被动响应工具升级为具备上下文主权的协作者,显著提升生成代码的可用率合规性,并降低调试维护成本。典型应用场景包括老旧系统重构、跨框架迁移、团队规范对齐及高可靠性微服务开发——Cursor Composer 2.5正是这一范式的首

weixin_30308101的博客 326

Cursor Agent模式重构开发工作流的智能协作者

Agent模式是一种基于LLM的自主任务代理技术,其核心在于构建‘感知-规划-执行-反思’的闭环工作流,区别于传统代码补全工具的单点输出。它通过深度理解项目上下文(如Prisma Schema、TanStack Table组件结构),实现跨文件、跨层、可验证的自动化开发任务。技术价值体现在将开发者从重复性调试配置中解放,升维为需求定义者结果审核者;典型应用场景包括数据库模型演进、API路由生成、前端表格交互封装等端到端功能交付。本文聚焦CursorComposer调度引擎Prisma/TanStac

weixin_33700809的博客 338

AI驱动TDD实战:用CopilotCursor重构测试驱动开发工作流

测试驱动开发(TDD)是一种通过先编写测试用例来驱动软件设计的开发方法,其核心‘红-绿-重构’循环能有效提升代码质量可维护性。然而,传统TDD实践中,手动编写测试实现代码往往耗时费力,成为团队落地的主要障碍。随着AI编码助手技术的成熟,开发者现在可以将模式化的代码生成任务交给AI工具,从而聚焦于更高层次的设计决策。在工程实践中,通过将AI工具深度集成到TDD流程中,可以自动化生成初始测试套件、快速产出最小实现代码,并辅助代码重构,显著降低TDD的实践门槛。这种‘人机协同’模式尤其适用于单元测试等场景,让

weixin_33738578的博客 436

Cursor 2.0 实战:用 Composer 多智能体+Streamlit 搭建可验证货币换算器

货币换算器是典型的轻量级 Web 工具开发场景,涉及 API 调用、状态管理实时交互,常被用作 Python 工程实践的入门案例。其核心原理在于将用户输入、汇率获取、结果渲染构成闭环数据流,技术价值体现在快速交付、低前端门槛可测试性。主流方案如 Flask/FastAPI 因路由、异步和状态管理复杂,显著抬高 AI 协作成本;而 Streamlit 的声明式 UI 和 st.session_state 机制,天然适配 AI 编程助手的确定性输出需求。结合 Cursor 2.0 的 Composer 模型

weixin_30315905的博客 378

Cursor深度使用指南:从AI补全到智能重构的工程化实践

AI编程工具已从简单代码补全迈入上下文感知工作流嵌入的新阶段。理解其底层原理——如项目级上下文建模、多粒度交互设计(内联编辑/Composer/Agent)、以及模型对中文工程术语的理解差异——是提升开发效能的关键。Cursor并非VS Code换皮,而是将AI深度集成进真实软件交付流程:通过自动加载Git状态文件依赖构建语义上下文,以Ctrl+K实现秒级战术修改,用Composer完成跨文件受控重构,并借Agent模拟工程师级任务拆解执行。尤其对中文开发者,Claude 3.5 Sonnet在接口定

weixin_33860528的博客 388

告别重复劳动:用Cursor Composer的智能重构功能,5分钟优化你的老旧React组件

本文介绍如何利用Cursor Composer的智能重构功能快速优化老旧React组件。通过AI驱动的代码生成技术,开发者可以在5分钟内将复杂的Class组件转换为现代化的函数式组件,显著提升代码可维护性和性能。文章详细演示了重构指令编写技巧、常见模式对比以及重构后的验证方法,帮助团队高效完成技术债务清理。

weixin_33737774的博客 250

2026年我用Cursor+Claude重构项目的完整方法论

上周我接手了一个遗留的Python后端项目——一个数据处理+定时任务的微服务。3700行单文件、零测试、全局变量满天飞、异常处理基本靠print。传统方式估计需要2-3天才能完成重构,但我用 Cursor + Claude 的组合,3个小时就搞定了。这篇文章不是流水账,而是我把这套工作流抽象成了一套可复用的方法论,附完整代码案例和踩坑记录,希望对你们有实际参考价值。Claude生成了Pydantic v1语法的代码,运行时报错。

csdngouwei的博客 371

Cursor自研模型实测:氛围编程如何重构开发工作流

氛围编程(Ambient Programming)正从概念走向工程实践,它指编辑器深度理解开发者上下文、思维路径验证习惯,将AI从代码生成器升级为开发协作者。其技术原理基于强化学习闭环,通过真实编辑行为数据构建马尔可夫决策链,以低延迟本地推理、动态策略调度和在线蒸馏机制,显著降低认知负荷上下文切换成本。相比传统Copilot类工具依赖静态提示云端大模型,氛围编程强调‘意图澄清→决策点聚焦→安全加固’的三段式交互,在React+FastAPI+PostgreSQL等全栈项目中实现开箱即用的可用代码。Cu

weixin_34357887的博客 567

Cursor Composer 深度测评:AI 原生 IDE 真的能胜任百万级项目的跨文件重构吗?

如果你的工作涉及频繁的跨文件重构、架构迁移或新功能模块开发,Cursor Pro($20/月)的投资回报率极高。根据 Cursor 官方介绍,Composer 2.5 是基于 Moonshot(月之暗面)的 Kimi K2.5 开源检查点构建的,这是一个大约 1 万亿总参数、每次推理约 320 亿激活参数的混合专家(MoE)模型。工具之争的背后,是开发者工作流正在经历的深层变革——从“写这段代码”到“改这个项目”,再到“想清楚再写”,AI 编程正在三个截然不同的维度上同时进化。AI 生成的多文件变更。

ZXSXJ的博客 367

Kiro Cursor 使用对比:AI 编程助手的深度体验

MCP 是一个开放协议,允许 AI 工具连接外部数据源和服务。Kiro 原生支持 MCP,可以轻松集成各种工具。},"env": {工具优点缺点Cursor✅ Tab 补全体验极佳✅ 上手简单,学习成本低✅ VS Code 生态完整✅ Composer 模式直观✅ 响应速度快❌ 需要频繁手动操作❌ 不支持自主执行❌ 缺少工作流自动化❌ 没有 Spec 驱动开发❌ 集成能力有限Kiro✅ 自主执行能力强✅ Spec 驱动开发规范✅ Hooks 自动化工作流

phantom_111的博客 1865

AI编程助手Cursor Composer 3.0升级指南:工程实践生产力提升

AI辅助编程正通过代码生成智能重构技术,重塑软件开发流程。其核心原理在于利用大语言模型理解开发者意图,将自然语言指令转化为结构化的代码变更,从而降低认知负荷,提升编码效率。这一技术的核心价值在于将开发者从重复性、模式化的编码任务中解放出来,使其更专注于架构设计和复杂问题求解。在实际应用场景中,AI编程助手已广泛应用于代码补全、函数生成、文档编写、单元测试创建以及代码重构等多个环节。随着工具能力的迭代,如Cursor Composer即将迎来的重大更新,开发者面临如何评估新版本价值、平滑集成到现有工作流,并

weixin_30781107的博客 415

2026年AI编程工具终极横评:Cursor vs Windsurf vs Copilot,程序员该为谁付费?

实测对比Cursor、Claude Code、Windsurf三大AI编程工具,含Go/React/Python项目真实代码生成质量和性能测试数据

csdngouwei的博客 1048

CursorJetBrains双IDE协同开发实战指南

现代IDE已从代码编辑器演进为开发者思维的延伸载体。理解‘上下文感知的意图接力’这一核心范式,是掌握AI编程工具的关键前提——它不替代逻辑思考,而是基于项目结构、调用链路历史行为,实现毫秒级的语义补全跨文件重构。技术价值体现在将‘查文档-试参数-看报错’的机械循环压缩为单次Cmd+K指令;典型应用场景覆盖Kotlin协程生命周期治理、Composer依赖冲突诊断、混合栈(PHP/Kotlin)契约对齐及内存泄漏根因追问;本文聚焦真实工程中CursorIntelliJ IDEA的职责边界划分无缝协同策

weixin_33851604的博客 703

Cursor 2026大版本发布:重构开发者工作流

Cursor 3.09 / v0.46预览版Cursor在2026年的策略是强化「本地项目接入」「Agent就绪标识」。3.09版本重点解决了大模块项目上下文挂载慢的问题,通过增量索引技术将大型微服务项目的感知时间从分钟级缩短至秒级。v0.46预览版则实现了ChatComposer模式的同窗融合,意味着开发者可以在同一个视图中同时进行对话式推理和代码生成,无需在两个面板间反复切换。其核心卖点是Agent To-dos支持子任务拆分,能将一个模糊需求(如「修复登录bug」)自动拆解为多个可执行的原子任务。

785

模型也会“越用越聪明”:AI模型私有化部署平台DLTM的版本管理持续迭代体系

有了版本,还要能“比”。

NVR安防视频技术 201
小番茄、
博客等级 码龄7年 2粉丝 1原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值