Vue登录跳转

该文介绍了一个使用Vue构建的登录页面示例,用户根据输入的用户名和密码会被重定向到管理员、普通用户或游客页面。登录组件验证身份,而Admin.vue、User.vue和Guest.vue组件显示不同角色的特定内容。路由配置确保了页面间的导航。
摘要由CSDN通过智能技术生成

     一个简单的 Vue 登录页面示例,通过输入用户名和密码进入三个不同的页面(管理员、普通用户和游客)。以下是每个组件的代码和用途:

  •  Login.vue 登录组件,包含一个登录表单,用于验证用户名和密码,并会根据用户角色进行重定向。
<template>
  <div>
    <h1>欢迎来到登录页面</h1>
    <form @submit.prevent="submit">
      <label>
        用户名:
        <input type="text" v-model="username" required>
      </label>
      <br>
      <label>
        密码:
        <input type="password" v-model="password" required>
      </label>
      <br>
      <button type="submit">登录</button>
    </form>
  </div>
</template>

<script>
export default {
  name: 'Login',
  data() {
    return {
      username: '',
      password: ''
    }
  },
  methods: {
    submit() {
      // 验证用户名和密码
      if (this.username === 'admin' && this.password === 'admin') {
        this.$router.push('/admin');
      } else if (this.username === 'user' && this.password === 'user') {
        this.$router.push('/user');
      } else {
        this.$router.push('/guest');
      }
    }
  }
}
</script>
  • Admin.vue 管理员组件,包含一些管理员特有的信息。
<template>
  <div>
    <h1>欢迎 {{name}} 管理员登录</h1>
    <p>管理员专用页面</p>
  </div>
</template>

<script>
export default {
  name: 'Admin',
  data() {
    return {
      name: '管理员'
    }
  }
}
</script>
  • User.vue 普通用户组件,包含一些普通用户特有的信息。
<template>
  <div>
    <h1>欢迎 {{name}} 登录</h1>
    <p>普通用户专用页面</p>
  </div>
</template>

<script>
export default {
  name: 'User',
  data() {
    return {
      name: '普通用户'
    }
  }
}
</script>
  • Guest.vue 游客组件,包含一些游客特有的信息。
<template>
  <div>
    <h1>欢迎来到游客页面</h1>
    <p>这里是供游客参观的页面</p>
  </div>
</template>

<script>
export default {
  name: 'Guest'
}
</script>
  •  最后,在App.vue 中,我们使用 router-view对不同的 URL 进行路由
<template>
  <div id="app">
    <router-view></router-view>
  </div>
</template>

<script>
export default {
  name: 'App'
}
</script>
  • 在main.js中,定义一些路由规则:
import Vue from 'vue'
import App from './App.vue'
import VueRouter from 'vue-router'
import Login from './components/Login.vue'
import Admin from './components/Admin.vue'
import User from './components/User.vue'
import Guest from './components/Guest.vue'

Vue.use(VueRouter)

const routes = [
  //默认界面是login
  { path: '/', redirect: '/login' },
  { path: '/login', component: Login },
  { path: '/admin', component: Admin },
  { path: '/user', component: User },
  { path: '/guest', component: Guest }
]

const router = new VueRouter({
  routes
})

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

以上是一个简单的 Vue 登录页面示例,通过输入用户名和密码进入三个不同的页面(管理员、普通用户和游客)。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,针对你的问题,我来简单介绍一下 Vue 登录跳转加路由守卫的实现方法。 首先,在 Vue 项目中使用路由守卫来实现登录跳转比较常见,因为路由守卫可以帮助我们在跳转页面时进行拦截和处理,以实现一些特定的逻辑操作。 下面是一个简单的示例代码: ```javascript // 创建路由实例 const router = new VueRouter({ routes: [ { path: '/login', component: Login }, { path: '/home', component: Home, meta: { requiresAuth: true // 添加 meta 字段,表示需要登录才能访问 } } ] }) // 添加路由守卫 router.beforeEach((to, from, next) => { if (to.matched.some(record => record.meta.requiresAuth)) { // 判断是否需要登录 if (!localStorage.getItem('token')) { // 判断是否已登录 next({ path: '/login', query: { redirect: to.fullPath } // 将跳转的路由path作为参数,登录成功后跳转到该路由 }) } else { next() } } else { next() } }) ``` 以上代码中,我们首先创建了一个 VueRouter 的实例,并定义了两个路由,一个是登录页面,一个是需要登录才能访问的首页。在首页的路由配置中,我们添加了一个 meta 字段,表示需要登录才能访问。 接着,我们使用 `router.beforeEach` 方法添加了一个路由守卫,用来拦截所有路由的跳转。在路由守卫中,我们通过 `to.matched.some` 方法判断当前路由是否需要登录,如果需要登录,则判断用户是否已登录,如果未登录,则跳转登录页面,并将需要跳转的路由作为参数传递给登录页面,在登录成功后再跳转回来。 以上就是一个简单的 Vue 登录跳转加路由守卫的实现方法。希望对你有所帮助。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值