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

相关推荐
whcyhhh14 分钟前
头歌实践教学平台:数据科学与大数据技术导论(十二)
大数据·开发语言·python·数据清洗
lzhdim44 分钟前
13、JavaScript事件循环机制 - JavaScript学习系列文章
开发语言·前端·javascript·学习·ecmascript
liangshanbo12151 小时前
Vue 3 <script setup> 的本质原理是什么?它与普通 setup()有何区别?
前端·javascript·vue.js
zbyyd1 小时前
Linux 多线程:互斥锁 &amp; 信号量
linux·c语言·开发语言·网络
wuyk5552 小时前
从零吃透Modbus通信|第3章:STM32 Modbus RTU主机
服务器·开发语言·网络·数据结构·stm32·单片机·嵌入式硬件
one3123 小时前
高精度MEMS电容式倾角传感器:原理、结构与Python三维可视化
开发语言·python
程序员小八7773 小时前
Go 语言特性
开发语言·后端·golang
七牛开发者3 小时前
实测推荐 3 个 Skill,轻松上手 Codex 网页设计与交付流程
前端·javascript·后端
七牛开发者3 小时前
拆解 dsh 系列:从源码和版本变化看 DeepSeek Harness 的设计取舍
前端·javascript·后端
谭光志3 小时前
如何从网站提取设计风格:DOM、计算样式与 DESIGN.md
前端·javascript·agent