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.href 或 window.open() 直接修改地址实现跳转,会刷新页面。

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

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

相关推荐
C^h8 小时前
c++ string
开发语言·c++
raindayinrain8 小时前
c++高性能--原子操作,无锁编程,操作顺序
开发语言·c++·性能优化
学逆向的9 小时前
C++ 合并命名空间
开发语言·c++·网络安全
Zhao-Jichao9 小时前
VS2026 打包 C++ 程序生成 EXE,借助 Installer Project 扩展工具
开发语言·c++
她说可以呀9 小时前
Vue插槽
前端·javascript·vue.js
qq_448011169 小时前
Vue + Jinja2两套模版与法冲突造成undefinedError
前端·javascript·vue.js
学逆向的10 小时前
C 局部静态变量
c语言·开发语言·网络安全
大都督会赢的10 小时前
C++第一节课
开发语言·c++
“AI国潮设计-小江”10 小时前
【AIGC实战】Python+Stable Diffusion打造“英歌舞财神”IP,解锁“马到成功”等爆款情绪营销文案设计
开发语言·人工智能·python·prompt·aigc
小王C语言10 小时前
Qt常用控件:容器类控件,标题分组框、标签页(浏览器标签)
开发语言·qt