vue项目实现界面跳转

为了使程序更加清晰,在src文件夹中建立router文件夹 ,在其中新建index.js,在此定义每个界面的路由。

import Vue from 'vue'
import Router from 'vue-router'
import index from '../components/index.vue'
import search from '../components/search.vue'
import fenping from '../components/fenping.vue'


Vue.use(Router);
const originalPush = Router.prototype.push

Router.prototype.push = function push(location) {
  return originalPush.call(this, location).catch(err => err)
}

export default new Router({
  routes: [
    {
      path: '/',
      name: 'index',
      component: index
    },
    {
      path: '/search',
      name: 'search',
      component: search
    },
    {
        path: '/fenping',
        name: 'fenping',
        component: fenping
      },       
  ]
})

找了好多,都是说用哪个history,但是我用到这个的时候总是不跳转。然后就是在main.js中进行了引用。

import router from './router'    ./router就代表着我们之前定义的文件夹
new Vue({
  // jquery,
  router,   //在这里进行应用
  render: h => h(App),
}).$mount('#app')

然后需要注意的是还需要在app.vue中进行修改,将这些标红的一句放入界面即可,他就可以根据路由将界面渲染出来。

<template>
  <div id="app">
    <router-view></router-view>
  </div>
</template>

另外就是跳转链接的设置

这里有两种跳转方式

1.直接使用push即在当前界面打开,进行渲染

    goTosearch() {
      this.$router.push("/search");
    },

2.在新的窗口打开

  goToFenping() {
        //直接跳转
        let routeUrl = this.$router.resolve({
          path: "/fenping",
        });
        window.open(routeUrl.href, "_blank");

      },

 

posted on 2021-09-06 10:08  一往无前!  阅读(587)  评论(1编辑  收藏  举报