vue开发优化方法【基于vue2】【续2】
Vue-router
场景:Vue-router是官方提供的路由插件
1.0缓存和动画
- 路由是使用官方组件vue-router,这里只叙述下路由- 的缓存和动画;
- 可以使用exclude(除了)或者include(包括),2.1.0新增 ,来做判断
<transition>
<keep-alive :include"['a','b']">
//或include="a,b" :include="/a|b/",a和b表示组件的name
//因为有些页面,如试试数据统计,要实时刷新,所以就不需要缓存
<router-view/> //路由标签
</keep-alive>
<router-view exclude="c"/>
// c表示组件的name值
</transition>
注:匹配首先检查组件自身的name选项,如果name选项不可用,则匹配它的局部注册名称(父组件components选项的键值)。匿名组件不能被匹配
4.用v-if做判断,组件会重新渲染,但是不用一一列举组件 name
1.2全局路由钩子
1.3组件路由钩子
1.4路由模式
直接在路由中设置mode属性:hash或history
1.5Vue.$router
this.$router.push();跳转url,但是这个方法会向history栈添加一个记录,点击后退会返回到上一个页面
this.$router.replace();url跳转不会有记录
this.$router.go(n);类似window.history.go(n)
1.6Vue.$route
表示当前跳转的路由对象,属性有:
name:路由名称,
path:路径,
query:传参接收值,
params:传参接收值,
fullPath:完成解析后的URL,包含查询参数和hash的完整路径,
matched:路由记录副本,
redirectedFrom:如果存在重定向,即为重定向来源的路由的名字
this.$route.params.id:获取通过 params 或/:id传参的参数
this.$route.query.id:获取通过 query 传参的参数
1.7router-view的key
场景:由于vue会复用相同的组件,即 /page/1 => /page/2 或者 /page?id=1 => /page?id=2 这类链接跳转时, 将不在执行created, mounted之类的钩子
<router-view :key="$route.fullPath"></router-view>
这样组件的created和mounted就都会执行
调试template
场景:在vue开发过程中,经常会遇到template模板渲染时JavaScript变量出错的问题,此时也许你会通过console.log来进行调试,这时可以在开发环境挂载一个log函数
//main.js
Vue.prototype.$log = window.console.log;
//组件内部
<div>{{$log(info)}}</div>
async和await
// async与await两个关键字的使用
//
// 1,async用来声明一个异步函数,可以将一个普通函数声明为一个异步函数
// 获取里面的数据的话,需要通过await关键字来获取
// await关键字只能在异步函数中使用,可以直接获取到异步对象中的返回结果
async function test() {
return new Promise((resolve, reject) => {
setTimeout(function () {
var name = '小爱,爱你';
resolve(name);
}, 1000);
})
}
console.log(test());// 输出的就不是一个普通字符串了,输出的是一个promise异步对象,里面存放着该字符串
async function main() {
let data = await test(); //获取异步方法里面的数据
console.log(data);
}
main();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南