Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改视图/组件,但不更改url_Javascript_Vue.js_Vuejs2_Vue Router - Fatal编程技术网

Javascript 更改视图/组件,但不更改url

Javascript 更改视图/组件,但不更改url,javascript,vue.js,vuejs2,vue-router,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'}

我正在使用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'});
上面的问题是url也发生了变化,但我只希望视图(组件)发生变化

当一个简单的输入错误重定向到a时,我觉得很烦人,它会让我再次键入url或从浏览器自动填充,无论哪种方式我都不喜欢

我想知道是否有这样的方法/逻辑:

总之,我希望视图发生更改,但不希望url发生更改


有任何vue/vue路由器方法可以做到这一点吗?

这有点不太妥当,但您可以通过路由器的
历史记录
对象的
更新路由
方法更新路由:

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