首页 前端知识 Vue.js的学习心得

Vue.js的学习心得

2024-06-13 21:06:51 前端知识 前端哥 591 25 我要收藏

学习Vue.js的过程中,我收获了很多,下面是我个人的学习心得体会。

  1.Vue.js是一种前端框架,它的设计理念是响应式的数据绑定和组件化。通过数据绑定,我们可以方便地将数据和DOM元素进行关联,实现数据的自动渲染和更新。通过组件化,我们可以将页面拆分成多个独立的组件,提高代码的可复用性和维护性。在学习Vue.js的过程中,我首先掌握了它的基本语法和概念。Vue实例是Vue.js的核心,通过实例化一个Vue对象,我们可以将数据、方法、计算属性等绑定到视图上。

  2.在Vue项目的开发中,我们使用的最多的应该就属Vue的指令了。通过Vue提供的常用指令,我们可以淋漓尽致地发挥Vue数据驱动的强大功能。指令是Vue中常用的语法糖,如v-bind用于绑定属性,v-if和v-for用于条件渲染和循环渲染等。理解这些基本概念对于后续的学习非常重要。以下便是一些常用指令的简单介绍:

(1)v-text: 用于更新绑定元素中的内容,类似于jQuery的text()方法

(2)v-html: 用于更新绑定元素中的html内容,类似于jQuery的html()方法

(3)v-if: 用于根据表达式的值的真假条件渲染元素

(4)v-show: 用于根据表达式的值的真假条件显示隐藏元素,切换元素的 display CSS 属性

(5)v-for: 用于遍历数据渲染元素或模板

(6)v-on: 用于在元素上绑定事件


  3.我深入学习了Vue.js的组件化开发。组件可以进行细粒度的拆分,每个组件可以有自己的数据、模板和方法,通过组件的嵌套和组合,可以构建出复杂的应用。在组件化开发中,我学会了如何定义组件、如何进行组件间通信,包括父子组件的数据传递和事件触发,兄弟组件间的通信等。掌握组件化开发可以提高代码的复用性和可维护性,提升开发效率。


  4.我学习了Vue.js的路由和状态管理。Vue Router是Vue.js官方提供的路由管理器,通过它可以实现页面间的切换和参数传递。Vuex是Vue.js的状态管理库,它可以集中管理应用的状态,并提供一种响应式的机制来保持状态和视图的同步更新。学习了路由和状态管理可以更好地进行前端项目的开发和维护。


  5.我通过实际项目的实践加深了对Vue.js的理解和应用能力。在项目中,我充分发挥Vue.js的优势,使用响应式数据绑定和组件化开发,提高了开发效率、代码可读性和可维护性。同时,我也遇到了一些挑战和问题,在解决这些问题的过程中,我不断学习、查阅文档和与其他开发者交流,提高了自己的技能水平。


总的来说,学习Vue.js是一次很有收获的经历。通过学习Vue.js,我掌握了前端开发的核心技术,提高了开发效率和代码质量。不过我们要保持对学习的激情和持续的学习态度。Web开发技术变化非常快,不断学习新的技术和框架是我们作为开发者必须做的事情。在学习过程中,遇到问题不要灰心,搜索和请教他人是解决问题的有效途径。我相信,在不断实践和探索中,我会进一步提升自己的Vue.js技能,实现更加复杂和优雅的前端应用。

以下是我写的登录页面效果截图以及代码分享

<template>
  <div class="Login">
    <div class="box">
      <h1>mall-admin</h1>
    <el-form :model="ruleForm" :rules="rules" ref="ruleForm" class="demo-ruleForm">
  <el-form-item prop="name">
    <el-input prefix-icon="el-icon-user-solid" v-model="ruleForm.name"></el-input>
  </el-form-item>
  <el-form-item prop="password">
    <el-input show-password prefix-icon="el-icon-lock" v-model="ruleForm.password" type=“password”></el-input>
  </el-form-item>
  <el-form-item>
    <el-button class="Login-btn" type="primary" @click="submitForm('ruleForm')">登录</el-button>
      </el-form-item>
</el-form>
    </div>
  </div>
</template>

<script>
import axios from 'axios';
  export default {
    name:"Login",
    data() {
      return {
        ruleForm: {
          name: "",
          password: "",
        },
        rules: {
          name: [
            { required: true, message:"请输入用户名", trigger: 'blur' },
          ],
           password:[
            { required: true, message:"请输入密码", trigger: 'blur' },
          ],
        },
      };
    },
    methods: {
      submitForm(formName) {
        this.$refs[formName].validate((valid) => {
          if (valid) {
            //调用登录的接口,实现登录功能
            axios
            .post("http://106.52.94.26:3001/user/login",{
              username: this.ruleForm.name,
              password: this.ruleForm.password,
            })
            .then((res)=> {
              console.log(res);
              // 登录成功之后,把服务器返回来的数据,存储到本地
              localStorage.setItem("userinfo",JSON.stringify(res.data.user))
              if (res.data.code == 200) {
                this.$message({
                  message:"登录成功",
                  type:"success",
                });
                //跳转到首页
                this.$router.push("/home")
              }
            })
            .catch((err)=>{
              console.log(err);
              this.$message.error(err.response.data.msg);
            });
          } else {
            console.log('error submit!!');
            return false;
          }
        });
      },
      resetForm(formName) {
        this.$refs[formName].resetFields();
      }
    }
  }
</script>

<style scoped lang="scss">
.Login{
  color:rgba(6, 83, 248, 0.842);
  display: flex;
  justify-content: center;
  .box{
    width: 350px;
    box-shadow: #ccc 0px 0px 8px;
    padding:50px;
    margin-top: 150px;
    h1{
      text-align: center;
    }
    .Login-btn{
      width: 350px;
    }
  }
}

</style>

以上便是我个人的Vue的部分所学,欢迎大家进行参考、评价~

转载请注明出处或者链接地址:https://www.qianduange.cn//article/11995.html
标签
评论
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!