不依靠ElementUI实现管理后台界面

整体效果

文件结构:

 main.js

//配置路由规则
const routes = [
  {
    path: '/',
    redirect: '/login',
  },
  {
    path: '/login',
    component: Login
  },
  {
    path: '/main',
    name: 'main',
    component: () => import('../views/Main.vue'), //懒加载
    children: [
      {
        path: 'userinfo', component: Userinfo, children: [
          { path: 'userdetails', component: Userdetails }
        ]
      },
      { path: 'Shop', component: Shop },
    ],
  }
]
//配置全局前置路由守卫
router.beforeEach((to, from, next) => {
  if (to.path === '/main') {
    const token = localStorage.getItem('token')
    if (token) {
      next()
    } else {
      this.$router.push('/login')
    }
  } else {
    next()
  }
})

export default router

Login.vue

export default {
  data(){
    return{
      username:'',
      password:'',
    }
  },
  methods:{
//登录功能
    login(){
      if(this.username==='admin' && this.password==='1234'){
        localStorage.setItem('token','seccess') //存储token
        this.$router.push('/main')
      }else{
        localStorage.removeItem('token')
      }
    }
  }
}

Main.vue

<template>
  <div id="main">
    <!-- 侧边栏 -->
    <div style="border:1px solid red;width:25%">
      <div class="nav">
        <router-link to="/main/userinfo">userinfo</router-link>
      </div>
      <div class="nav">
        <router-link to="/main/shop">shop</router-link>
      </div>
    </div>

    <!-- 主体 -->
    <div style="border:1px dotted blue;width:100%">
      <router-view />
    </div>
  </div>
</template>

App.vue

<template>
  <div id="app">
    <nav>
      <router-link to="/login">Login</router-link> |
      <router-link to="/main">Main</router-link>
    </nav>
    <button @click="logout">logout</button>
    <router-view/>

  </div>
</template>

export default{
  methods:{
    logout(){
      localStorage.removeItem('token')//清楚token
      this.$router.push('/login')  //跳转登录页
    }
  }
}

userinfo.vue

<template>
  <div>
    userinfo
    <br>
    <!-- 跳转链接 -->
    <router-link to="/main/userinfo/userdetails">userdetails</router-link>

    <div>
      <router-view></router-view>
    </div>
    
  </div>
</template>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,关于elementui实现修改密码界面,这个是技术问题,我可以帮您解答。一般来说,您需要先引入elementui组件库,并在页面中使用form表单、input输入框、button按钮等组件来构建修改密码界面。具体实现可以参考elementui的文档和示例代码。希望能对您有所帮助。 ### 回答2: elementui是一个基于Vue.jsUI框架,通过使用它可以快速构建出现代化的Web界面。要实现修改密码界面,我们可以按照以下步骤进行操作。 首先,我们需要创建一个包含输入框、按钮和表单验证的页面布局。可以使用elementui提供的Form组件和Input组件来实现。 接下来,我们需要创建一个Vue组件,命名为ChangePassword,用来处理修改密码功能的逻辑。在该组件中,我们可以定义data属性来存储用户输入的旧密码、新密码和确认密码等信息。 然后,我们可以使用elementui的Form组件来包裹输入框,通过设置不同的prop属性来实现表单验证,例如设置rules属性来定义密码的格式要求,设置maxlength属性来限制密码的最大长度等。 在页面的最底部,我们可以放置一个按钮,当用户输入完毕后,点击按钮来提交修改密码的请求。可以使用elementui的Button组件,并通过设置click事件来执行修改密码的逻辑。 为了增强用户体验,我们可以在用户输入新密码后,通过elementui的Input组件的confirm属性来验证两次密码是否一致。 最后,我们可以将ChangePassword组件导入到其他需要修改密码的页面中,并将其作为一个子组件嵌入其中。 总之,通过使用elementui的各种组件和功能,我们可以轻松地实现一个易用和美观的修改密码界面。 ### 回答3: Element UI 是一款基于 Vue.js 的开源组件库,提供了丰富的样式和组件,方便开发者快速搭建网页界面。要实现修改密码界面,可以使用 Element UI 的表单组件和按钮组件来实现。 首先,我们需要创建一个包含输入框和按钮的表单组件。可以使用 Element UI 的 `<el-form>` 和 `<el-form-item>` 组件创建表单,并在其中添加 `<el-input>` 组件用于输入旧密码、新密码和确认密码。 在表单中添加 `<el-button>` 组件,用于触发密码修改操作。可以在按钮上添加 `@click` 事件监听器,并在事件处理函数中执行密码修改逻辑,例如向后端发送修改密码的请求。 在表单组件中,可以使用双向绑定技术将用户输入的密码绑定到组件的数据对象中,通过 `v-model` 指令实现。可以在 `<el-input>` 组件上添加 `v-model` 指令,将输入密码的值绑定到组件的数据对象中。 在密码修改逻辑中,可以使用 Element UI 提供的消息提示组件 `<el-message>` 来显示修改密码的结果。例如,在密码修改成功时,可以使用 `<el-message>` 组件显示成功消息;在密码修改失败时,可以使用该组件显示失败消息,并提示用户重新尝试。 最后,在路由或页面跳转时,可以使用 Element UI 提供的导航菜单和面包屑组件来实现页面导航和定位,方便用户在网页中切换不同的功能模块或界面。 综上所述,通过使用 Element UI 的表单组件和按钮组件,以及双向绑定、事件处理和消息提示等特性,我们可以实现一个简单的修改密码界面

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值