• vue+elementUI


    一、创建hello-vue工程

    vue init webpack hello-vue

    二、安装依赖

    2.1、以管理员模式进入工厂目录

    2.2、安装vue-router

    npm install vue-router --save-dev

    2.3、安装element-ui

    npm i element-ui -S

    2.4、安装依赖

    npm install

    2.5、安装SASS加载器

    cnpm install sass-loader node-sass --save-dev

    2.6、启动测试

    2.7、Npm命令解释

    • npm install moduleName :安装模块到项目目录下
    • npm install -g moduleName :-g的意思是将模块安装到全局,具体安装到磁盘哪个位置,要看npm config prefix的位置
    • npm install -save moduleName :–save的意思是将模块安装到项目目录下,并在package文件的dependencies节点写入依赖,-S 为该命令的缩写
    • npm install -save-dev moduleName:–save-dev的意思是将模块安装到项目目录下,并在package文件的devDependencies节点写入依赖,-D 为该命令的缩写

    三、开发

    3.1、用idea打开工程

    3.2、删除不必要的东西

    3.3、定义Main.vue和Login.vue组件

    Main.vue:

    <template>
        <h1>首页</h1>
    </template>
    
    <script>
        export default {
            name: "Main"
        }
    </script>
    
    <style scoped>
    
    </style>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    Login.vue:

    <template>
      <div>
        <el-card class="box-card">
          <el-form ref="loginForm" :model="form" :rules="rules" label-width="80px" class="login-box">
            <h3 class="login-title">欢迎 登录</h3>
            <el-form-item label=" 账号" prop="username">
              <el-input type="text" placeholder="请输入账号" v-model="form.username"/>
            </el-form-item>
            <el-form-item label=" 密码" prop="password">
              <el-input type="password" placeholder=" 请输入密码" v-model="form.password"/>
            </el-form-item>
            <el-form-item>
              <el-button type="primary" v-on:click="onSubmit( 'loginForm' )">登录</el-button>
            </el-form-item>
          </el-form>
    
          <el-dialog
            title="温馨提示"
            :visible.sync="dialogVisible"
            width="30%"
            :before-close="handLeClose">
            <span>请输入账号和密码</span>
            <span slot="footer" class="dialog- footer">
            <el-button type="primary" @click="dialogVisible = false">确定</el-button>
          </span>
          </el-dialog>
        </el-card>
      </div>
    </template>
    
    <script>
      export default {
        name: "Login",
        data() {
          return {
            form: {
              username: '',
              password: ''
            },
            //表单验证,需要在el-form-item 元素中增加prop 属性
            rules: {
              username: [
                {required: true, message: " 账号不可为空", trigger: 'blur'}
              ],
              password: [
                {required: true, message: " 密码不可为空 ", trigger: 'blur'}
              ]
            },
    //对话框显示和隐藏
            dialogVisible: false
          }
        },
        methods: {
          onSubmit(formName) {
    //为表单绑定验证功能
            this.$refs [formName].validate((valid) => {
              if (valid) {
    //使用vue-router路由到指定页面,该方式称之为编程式导航
                this.$router.push("/main");
              } else {
                this.dialogVisible = true;
                return false;
              }
            });
          }
        }
      }
    </script>
    
    <style scoped>
      .box-card {
        width: 480px;margin: auto;
      }
    </style>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74

    3.4、管理路由

    import Vue from 'vue'
    import Router from 'vue-router'
    
    import Main from '../views/Main'
    import Login from '../views/Login'
    
    Vue.use(Router)
    
    export default new Router({
      routes: [
        {
          path: '/main',
          component: Main
        },{
          path: '/login',
          component: Login
        }
      ]
    });
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    3.5、在main.js中配置路由

    import Vue from 'vue'
    import App from './App'
    
    import router from './router'
    
    import ElementUI from 'element-ui';
    import 'element-ui/lib/theme-chalk/index.css';
    
    Vue.use(router);
    Vue.use(ElementUI);
    
    
    new Vue({
      el: '#app',
      router,
      render: h => h(App) //ElementUI
    })
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    3.6、在App.vue中使用路由

    <template>
      <div id="app">
          <router-link to="/login">login</router-link>
          <router-view></router-view>
      </div>
    </template>
    
    <script>
    
    
    export default {
      name: 'App'
    }
    </script>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    3.7、测试

    在这里插入图片描述

    3.8、项目结构

    在这里插入图片描述

  • 相关阅读:
    MyBatis通用Mapper:简化数据库操作的利器
    自然语言处理NLP——ERNIE-M:基于回译机制的“预训练-微调”多语言模型
    YOLOv8血细胞检测(17):极简的神经网络模型 VanillaNet---VanillaBlock助力检测实现涨点的同时降低参数量 |华为诺亚2023
    linux常用指令
    Java内存模型(JMM) ----多线程/并发编程
    iOS 17 跳转到系统设置页面(蓝牙、wifi、键盘、壁纸、铃声、iCloud等等)
    会员通?会员通!
    哪个牌子的台灯对孩子的视力好?对孩子视力好的台灯推荐分享
    自动微分----pytorch中的梯度运算与反向传播函数(预备知识)
    Eslint安装配置教程
  • 原文地址:https://blog.csdn.net/Massimo__JAVA/article/details/125467155