• 修改密码页面


    1). 新建修改密码页

    在 src/views/users 下新建 Password.vue 文件,复制贴入以下代码:

    src/views/users/Password.vue

    <template>
      <div class="col-md-9 left-col">
        <div class="panel panel-default padding-md">
            <div class="panel-body">
                <h2><i class="fa fa-lock"></i> 修改密码</h2>
            <hr>
            <div class="form-horizontal" data-validator-form>
              <div class="form-group">
                <label class="col-sm-2 control-label">密 码</label>
                <div class="col-sm-6">
                  <input v-model.trim="password" id="password" v-validator.required="{ regex: /^w{6,16}$/, error: '密码要求 6 ~ 16 个单词字符' }" type="password" class="form-control" placeholder="请填写密码">
                </div>
              </div>
              <div class="form-group">
                <label class="col-sm-2 control-label">确认密码</label>
                <div class="col-sm-6">
                  <input v-model.trim="cpassword" v-validator.required="{ title: '确认密码', target: '#password' }" type="password" class="form-control">
                </div>
              </div>
    
              <div class="form-group">
                <div class="col-sm-offset-2 col-sm-6">
                  <button type="submit" class="btn btn-primary" @click="updatePassword">应用修改</button>
                </div>
              </div>
            </div>
            </div>
        </div>
      </div>
    </template>
    
    <script>
    export default {
      name: 'EditPassword',
    data() {
      return {
        password: '', // 密码
        cpassword: '' // 确认密码
      }
    },
    // 在实例创建完成后,初始化密码的值
    created() {
      // 获取仓库的用户信息
      const user = this.$store.state.user
    
      if (user && typeof user === 'object') {
        // 将仓库的用户密码赋值给当前密码
        this.password = user.password
      }
    },
    methods: {
      // 更新密码
      updatePassword(e) {
        this.$nextTick(() => {
          // 表单验证通过时
          if (e.target.canSubmit) {
            // 依然分发一个 updateUser 的事件,这里只需传入密码信息
            this.$store.dispatch('updateUser', { password: this.cpassword })
            this.$message.show('修改成功')
          }
        })
      }
    }
    }
    </script>
    
    <style scoped>
    
    </style>

    2). 添加修改密码路由

    打开 src/router/routes.js 文件,添加修改密码路由 EditPassword(注释部分是涉及的修改):

    src/router/routes.js

    1   // EditPassword
    2       {
    3         path: '/users/1/edit_password',
    4         name: 'EditPassword',
    5         component: () => import('@/views/users/Password.vue'),
    6         meta: { auth: true }
    7       }
  • 相关阅读:
    nyoj17单调递增最长子序列(dp)
    nyoj995硬币找零(dp完全背包)
    nyoj36最长公共子序列(dp)
    hdu2058 The sum problem(枚举~~等差数列求和公式)
    Oceanbase:ld升级导致的error adding symbols: DSO missing from command line
    c++基础
    笔试中常出现的虚函数问题
    背包问题-面试中的动态规划
    拼音魔法-华东师范大学程序设计竞赛-3256-EOJ
    滴滴新锐2017实习生面试经历
  • 原文地址:https://www.cnblogs.com/yangguoe/p/9317274.html
Copyright © 2020-2023  润新知