首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vue.js push.route不更改应用程序中的组件

Vue.js push.route不更改应用程序中的组件
EN

Stack Overflow用户
提问于 2019-05-21 06:40:04
回答 1查看 190关注 0票数 0

日安。

我是vue的新手,每当用户登录加载另一个页面/组件时,我都会尝试将我的登录页面重定向到另一个页面。url会更改,不会显示任何错误,但页面不会更改。

编辑:我使用Vue工具检查它是否重定向,很明显是重定向的,但我制作的表单组件仍然留在屏幕上,我的someOtherComponent确实显示在屏幕上。

下面是我的表单组件的代码脚本部分:

代码语言:javascript
复制
<script>
  export default {

    data: () => ({
      valid: true,
      name: '',
      userRules: [
        v => !!v || 'Name is required',
      ],
      password: '',
      passwordRules: [
        v => (v && v.length <= 10) || 'Password must be less than 10 characters'
      ],
    }),

    methods: {
      validate () {
        if (this.name == "User" && this.password == '99999' && this.$refs.form.validate()) {
          console.log(this.name, this.password)
          this.$router.push('someOtherPage')
        }
      },
    }
  }
</script>

在我的路由器文件中,我有以下内容:

代码语言:javascript
复制
import Vue from "vue";
import Router from "vue-router";
import Home from "./views/Home.vue";
import SomeOtherPage from "./pages/someOtherPage";

Vue.use(Router);

export default new Router({
  mode: "history",
  base: process.env.BASE_URL,
  routes: [
    {
      path: "/",
      name: "home",
      component: Home
    },
    {
      path: "/someOtherPage",
      name: "SomeOtherPage",
      component: SomeOtherPage,
    },
  ]

});

这是我的main.js文件

代码语言:javascript
复制
import Vue from "vue";
import './plugins/vuetify'
import App from "./App.vue";
import router from "./router";
import store from "./store";
import VeeValidate from 'vee-validate';

Vue.use(VeeValidate);
Vue.config.productionTip = false;

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount("#app");

我的someOtherPage文件只是h2标记上的一句话:

代码语言:javascript
复制
<template>
  <v-app>
    <v-content>
      <div>
        <h3>This is some other page</h3>
      </div>
    </v-content>
  </v-app>
</template>

<script>

export default {
  name: 'someOtherPage',
  data () {
    return {
      //
    }
  }
}
</script>

<style scoped>

</style>

我看了一些youtube上的教程,但对我的情况都没有帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-21 14:47:20

validate ()方法下的组件文件中,替换以下行:

代码语言:javascript
复制
'this.$router.push('someOtherPage')' 

代码语言:javascript
复制
this.$router.push('/someOtherPage')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56229040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档