1. import Vue from 'vue';
  2. import App from './App.vue';
  3.  
  4. //引入公共的scss 注意:创建项目的时候必须用scss
  5.  
  6. import './assets/css/basic.scss';
  7.  
  8. //请求数据
  9.  
  10. import VueResource from 'vue-resource';
  11. Vue.use(VueResource);
  12.  
  13. import VueRouter from 'vue-router';
  14.  
  15. Vue.use(VueRouter);
  16.  
  17. //1.创建组件
  18.  
  19. import Home from './components/Home.vue';
  20.  
  21. import News from './components/News.vue';
  22.  
  23. import Content from './components/Content.vue';
  24.  
  25. //2.配置路由 注意:名字
  26.  
  27. const routes = [
  28. { path: '/home', component: Home },
  29. { path: '/news', component: News,name:'news' },
  30.  
  31. { path: '/content/:aid', component: Content }, /*动态路由*/
  32.  
  33. { path: '*', redirect: '/home' } /*默认跳转路由*/
  34. ]
  35.  
  36. //3.实例化VueRouter 注意:名字
  37.  
  38. const router = new VueRouter({
  39. mode: 'history', /*hash模式改为history*/
  40. routes // (缩写)相当于 routes: routes
  41. })
  42.  
  43. //4、挂载路由
  44.  
  45. new Vue({
  46. el: '#app',
  47. router,
  48. render: h => h(App)
  49. })
  50.  
  51. //5 <router-view></router-view> 放在 App.vue
  1. <template>
  2. <!-- 所有的内容要被根节点包含起来 -->
  3. <div id="home">
  4. 我是首页组件
  5.  
  6. <button @click="goNews()">通过js跳转到新闻页面</button>
  7.  
  8. </div>
  9. </template>
  10.  
  11. <script>
  12. export default{
  13. data(){
  14. return {
  15. msg:'我是一个home组件'
  16.  
  17. }
  18. },
  19. methods:{
  20.  
  21. goNews(){
  22.  
  23. // 注意:官方文档写错了
  24.  
  25. //第一种跳转方式
  26.  
  27. // this.$router.push({ path: 'news' })
  28.  
  29. // this.$router.push({ path: '/content/495' });
  30.  
  31. //另一种跳转方式
  32.  
  33. // { path: '/news', component: News,name:'news' },
  34.  
  35. // router.push({ name: 'news', params: { userId: 123 }})
  36.  
  37. this.$router.push({ name: 'news'})
  38.  
  39. }
  40. }
  41. }
  42.  
  43. </script>
  44.  
  45. <style lang="scss" scoped>
  46.  
  47. </style>

Vue路由编程式导航以及hash模式的更多相关文章

  1. vue路由-编程式导航

    除了使用 <router-link> 创建 a 标签来定义导航链接,我们还可以借助 router 的实例方法,通过编写代码来实现. router.push(location, onComp ...

  2. Vue 路由的编程式导航与history模式

    编程式导航 注意:官方文档写错了 通过javascript跳转 //第一种跳转方式 // this.$router.push({ path: 'news' }) // this.$router.pus ...

  3. VueRouter爬坑第四篇-命名路由、编程式导航

    VueRouter系列的文章示例编写时,项目是使用vue-cli脚手架搭建. 项目搭建的步骤和项目目录专门写了一篇文章:点击这里进行传送 后续VueRouter系列的文章的示例编写均基于该项目环境. ...

  4. vue编程式导航,命名路由

    //使用 window.location.href 的形式,叫做 编程式导航 绑定事件的形式 <template> <div class="goods-item" ...

  5. vue动态路由传值以及get传值及编程式导航

    1.动态路由传值 1.配置路由处 { path: '/content/:id', component: Content }, // 动态路由 2.对应页面传值 <router-link :to= ...

  6. [Vue 牛刀小试]:第十四章 - 编程式导航与实现组件与 Vue Router 之间的解耦

    一.前言 在上一章的学习中,通过举例说明,我们了解了 Vue Router 中命名路由.命名视图的使用方法,以及如何通过 query 查询参数传参,或者是采用 param 传参的方式实现路由间的参数传 ...

  7. vue编程式导航

    vue项目中使用到了组件间传值,通过路由跳转实现从产品页进入产品详情页查看功能. 使用了this.$router.push(编程式导航) product页面中:因为只需要遮住产品列表页来显示产品详情页 ...

  8. [vue]声明式导航和编程式导航

    声明式导航和编程式导航 共同点: 都能进行导航,都可以触发路由,实现组件切换 区别: 写法不一样,声明式导航是写在组件的template中,通过router-link来触发,编程式导航写在js函数中, ...

  9. vue中声明式导航和编程式导航

    官方文档:https://router.vuejs.org/zh-cn/essentials/navigation.html 声明式导航和编程式导航 共同点: 都能进行导航,都可以触发路由,实现组件切 ...

随机推荐

  1. python算法与数据结构-选择排序算法(33)

    一.选择排序的介绍 选择排序(Selection sort)是一种简单直观的排序算法.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素, ...

  2. P1436 棋盘分割[dp]

    题目描述 将一个8*8的棋盘进行如下分割:将原棋盘割下一块矩形棋盘并使剩下部分也是矩形,再将剩下的两部分中的任意一块继续如此分割,这样割了(n-1)次后,连同最后剩下的矩形棋盘共有n块矩形棋盘.(每次 ...

  3. 【Java】《Java程序设计基础教程》第三章学习

    3.1 类 类在Java语言中是一种最基本的引用数据类型,是组成Java程序的基本要素.具有相同属性(状态)和方法(行为)的一组对象的集合称为类,其内部包括属性和方法两个主要部分. 3.11 类的定义 ...

  4. SQL SERVER使用 CROSS APPLY 与 OUTER APPLY 连接查询

    概述 CROSS APPLY 与 OUTER APPLY 可以做到:      左表一条关联右表多条记录时,我需要控制右表的某一条或多条记录跟左表匹配的情况. 有两张表:Student(学生表)和 S ...

  5. vscode——tab转空格

    前言 为了规范写法,开启了eslint,但是tab没设置转空格,这里记录下设置过程. 步骤 进入设置并搜索tab 配置设置 复制相应的设置 写入到json文件中 "editor.detect ...

  6. 使用笔记:TF辅助工具--tensorflow slim(TF-Slim)

    如果抛开Keras,TensorLayer,tfLearn,tensroflow 能否写出简介的代码? 可以!slim这个模块是在16年新推出的,其主要目的是来做所谓的“代码瘦身” 一.简介 slim ...

  7. jquery锚点跳转

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  8. Kafka、ActiveMQ、RabbitMQ、RocketMQ区别

    1.区别: Kafka和RocketMQ的区别: 1.两者对于消息的单机吞吐量.时效性.可用性.消息可靠性都差不多,其中时效性就是消息延迟都在ms级,kafka吞吐量会更大. 2.功能支持方面:Kaf ...

  9. learning java AWT BoxLayout布局管理器

    import javax.swing.*; import java.awt.*; public class BoxSpaceTest { private Frame f = new Frame(&qu ...

  10. Session的数据共享

    要体现出Session的数据共享,需要建立两个Servlet: 第一个:建立Session,将值设置为Tom. protected void doGet(HttpServletRequest requ ...