创建项目,登录校验

Node 版本要求

Vue CLI 需要 Node.js 8.9 或更高版本 (推荐 8.11.0+)。你可以使用 nvm 或 nvm-windows在同一台电脑中管理多个 Node 版本。

可以使用下列任一命令安装这个新的包:

npm install -g @vue/cli
# OR
yarn global add @vue/cli

安装之后,你就可以在命令行中访问 vue 命令。你可以通过简单运行 vue,看看是否展示出了一份所有可用命令的帮助信息,来验证它是否安装成功。

你还可以用这个命令来检查其版本是否正确:

vue --version

运行以下命令来创建一个新项目:

vue create hello-world

一,项目中可以只留main.js和单文件组件app.vue

import Vue from 'vue'
import App from './App.vue'

// 关闭生产环境提示
Vue.config.productionTip = false
 
new Vue({
  render: h => h(App),
}).$mount('#app')
二,配置components和main.js同级,里配置index.vue,login.vue
import Vue from 'vue'
import App from './App.vue'
import VueRouter from 'vue-router'
import Index from './components/index.vue'
import Login from './components/login.vue'

// 关闭生产环境提示
Vue.config.productionTip = false
Vue.use(VueRouter)

const router = new VueRouter({
  routes: [
    { path: '/', redirect: '/index' },
    { path: '/index', component: Index },
    { path: '/login', component: Login }

  ]
})
new Vue({
  render: h => h(App),
  router: router
}).$mount('#app')
三,和main.js同级,新建一个router文件夹,建一个index.js:
import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../components/home.vue'
import Login from '../components/login.vue'

Vue.use(VueRouter)

const router = new VueRouter({
  routes: [
    { path: '/', redirect: '/login' },
    { path: '/login', component: Login },
 { path: '/home', component: Home }

  ]
})
// 创建一个路由对象

export default router
 
三,一:main.js中:
import Vue from 'vue'
import App from './App.vue'
import router from './router'

// 关闭生产环境提示
Vue.config.productionTip = false

new Vue({
  render: h => h(App),
  router
}).$mount('#app')
 
四,表单校验,重置
<template>
  <div class="login">
    <!--  :rules 给form加校验规则,status-icon给输入杠中加入图标,prop接收表单校验的规则,通过ref获取form表单 -->
    <el-form :model="form" :rules="rules" class="demo-form" status-icon ref="form">
  <el-form-item label="用户名" prop="username" label-width="100px">
    <el-input v-model="form.username"  placeholder="请输入用户名"></el-input>
  </el-form-item>
   <el-form-item label="密码" prop="password" label-width="100px">
    <el-input v-model="form.password"  placeholder="请输入密码"></el-input>
  </el-form-item>
  <el-form-item>
    <el-button type="primary" @click="reset">重置</el-button>
  </el-form-item>
  <el-form-item>
    <el-button type="primary" @click="login">登录</el-button>
  </el-form-item>
</el-form>
  </div>
</template>

<script>
export default {
  data () {
    return {
      form: {
        username: '',
        password: ''
      },
      rules: {
        username: [
          // required必填,trigger触发方式
          { required: true, message: '请输入活用户名', trigger: 'blur' },
          { min: 3, max: 9, message: '长度在 3 到 9 个字符', trigger: 'blur' }
        ],
        password: [
          { required: true, message: '请输入活用户名', trigger: 'blur' },
          { min: 6, max: 12, message: '长度在 6 到 12 个字符', trigger: 'blur' }
        ]
      }
    }
  },
  methods: {
    reset () {
      // 通过$refs.form获取表单信息,调用resetFields()重置
      this.$refs.form.resetFields()
    },
    login () {
      console.log('submit!')
    }
  }
}
</script>

<style lang="less">
  .el-input {
     30%;
  }
</style>


原文地址:https://www.cnblogs.com/xiaoxiao95/p/12732540.html