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 实现页面栈管理。

相关推荐
晓晓hh4 小时前
JavaSE学习——迭代器
java·开发语言·学习
Laurence4 小时前
C++ 引入第三方库(一):直接引入源文件
开发语言·c++·第三方库·添加·添加库·添加包·源文件
kyriewen115 小时前
你点的“刷新”是假刷新?前端路由的瞒天过海术
开发语言·前端·javascript·ecmascript·html5
014-code5 小时前
String.intern() 到底干了什么
java·开发语言·面试
421!5 小时前
GPIO工作原理以及核心
开发语言·单片机·嵌入式硬件·学习
摇滚侠5 小时前
JAVA 项目教程《苍穹外卖-12》,微信小程序项目,前后端分离,从开发到部署
java·开发语言·vue.js·node.js
@insist1236 小时前
网络工程师-生成树协议(STP/RSTP/MSTP)核心原理与应用
服务器·开发语言·网络工程师·软考·软件水平考试
Timer@6 小时前
LangChain 教程 04|Agent 详解:让 AI 学会“自己干活“
javascript·人工智能·langchain
野生技术架构师6 小时前
2026年牛客网最新Java面试题总结
java·开发语言
环黄金线HHJX.6 小时前
Tuan符号系统重塑智能开发
开发语言·人工智能·算法·编辑器