JS 与 Vue Router 导航方式对比

JS 与 Vue Router 导航方式对比

📌 之前的 JS 跳转实现方式

根据你提供的课件内容,这里的"编程式导航"主要是在 Vue 框架 下的实现,而更早的原生 JS 跳转方式如下:


1. 原生 JS 跳转(传统方式)

在 Vue 出现之前,前端页面跳转主要通过修改浏览器地址来实现:

  • 本页面跳转(覆盖当前页)

    JavaScript 复制代码
    // 点击按钮后跳转到指定页面
    window.location.href = '目标页面地址';
    // 示例:
    <button onclick="window.location.href='home.html'">跳转到首页</button>
  • 新开页面跳转

    JavaScript 复制代码
    // 点击按钮后在新标签页打开
    window.open('目标页面地址');
  • 替换当前历史记录(无法返回)

    JavaScript 复制代码
    window.location.replace('目标页面地址');

2. Vue 中的编程式导航(现在的方式)

在 Vue 项目中,使用 vue-router 实现单页应用(SPA)跳转,不再刷新整个页面:

  • 核心方法this.$router.push()

    JavaScript 复制代码
    // 路径跳转(简写)
    this.$router.push('/home');
    
    // 路径跳转(完整写法)
    this.$router.push({ path: '/home' });
    
    // 命名路由跳转(适合长路径)
    this.$router.push({ name: 'Home' });
  • 按钮绑定点击事件

    HTML 复制代码
    <button @click="goHome">点击跳转首页</button>
    JavaScript 复制代码
    methods: {
      goHome() {
        this.$router.push('/home');
      }
    }

3. 微信小程序中的编程式导航(类似逻辑)

如果是小程序开发,跳转方式为:

JavaScript 复制代码
// 保留当前页,跳转到新页
wx.navigateTo({
  url: '/pages/home/home'
});

// 关闭当前页,跳转到新页(无法返回)
wx.redirectTo({
  url: '/pages/home/home'
});

✅ 总结

  • 传统 JS :用 window.location.hrefwindow.open() 直接修改地址实现跳转,会刷新页面。

  • Vue 编程式导航 :用 this.$router.push() 控制路由,实现无刷新页面切换,是现代前端的主流方式。

  • 小程序 :用 wx.navigateTo() 等 API 实现页面栈管理。

相关推荐
我的世界洛天依14 小时前
胡桃讲编程|续篇!用高数 + JS ES262 硬核解构:求乐正绫的值
javascript
超级小星星14 小时前
C 语言结构体内存对齐深度解析:从概念到实战
c语言·开发语言
狮子座明仔14 小时前
AgentSPEX:当 Agent 框架开始把“控制流“从 Python 里抠出来
开发语言·python
笨笨饿15 小时前
74_SysTick滴答定时器中断
c语言·开发语言·人工智能·单片机·嵌入式硬件·算法·学习方法
科芯创展15 小时前
XZ4058B/C,20V,外置MOS,8.4V/8.7V开关充电芯片 宽范围电源电压:8.9V~20V-(电池充电电压:8.4V/8.7V)
c语言·开发语言
AI玫瑰助手15 小时前
Python流程控制:break与continue语句的区别与应用
开发语言·python·信息可视化
棉猴15 小时前
python海龟绘图之画布与窗口
javascript·python·html·setup·turtle·海龟绘图·screensize
AI_paid_community15 小时前
25k Star 登顶 GitHub:这个专门吃 K 线图长大的 AI,让我意识到之前三年都在裸奔
javascript·claude
largecode16 小时前
如何让电话显示店名?来电显示店铺名称,提升有效接通率
java·开发语言·spring·百度·学习方法·业界资讯·twitter