更改视图/组件但不更改URL

时间:2017-11-03 17:13:21

标签: javascript vue.js vuejs2 vue-router

我正在使用404错误页面功能,我得到了它的工作:

const router = new VueRouter({
  routes: [
        // ...
        {
            path: '*',
            component: NotFound,
            name: '404',
            meta: {page_title: 'Vuejs&Material Demo | 404 NOT FOUND'}
        },
    ]
});

// ... not found something

this.$router.push({name: '404'});

以上问题是网址也会发生变化,但我只是希望视图(组件)发生变化。

当一个简单的拼写错误重定向到http://example.com/404时,我发现非常烦人,它让我再次输入网址或者从浏览器自动填充,无论哪种方式我不喜欢它。

我想知道是否存在某种类型的方法/逻辑:https://www.facebook.com/sdfsd/sfsdf/asfasfsafastgtgregre

最重要的是,我希望视图可以更改,但不是网址。

是否有任何vue / vue-router方法可以做到这一点?

1 个答案:

答案 0 :(得分:2)

这有点hacky,但您可以通过路由器的history对象的updateRoute方法更新路线:

let route = this.$router.match({ name: '404' });
this.$router.history.updateRoute(route);