总结

=============================================================

从转行到现在,差不多两年的时间,虽不能和大佬相比,但也是学了很多东西。我个人在学习的过程中,习惯简单做做笔记,方便自己复习的时候能够快速理解,现在将自己的笔记分享出来,和大家共同学习。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

个人将这段时间所学的知识,分为三个阶段:

第一阶段:HTML&CSS&JavaScript基础

第二阶段:移动端开发技术

第三阶段:前端常用框架

  • 推荐学习方式:针对某个知识点,可以先简单过一下我的笔记,如果理解,那是最好,可以帮助快速解决问题;如果因为我的笔记太过简陋不理解,可以关注我以后我还会继续分享。

  • 大厂的面试难在,针对一个基础知识点,比如JS的事件循环机制,不会上来就问概念,而是换个角度,从题目入手,看你是否真正掌握。所以对于概念的理解真的很重要。

      <input type="radio" v-model = "student.gender" value = "1"> 男
    
      <input type="radio" v-model = "student.gender" value = "0"> 女
    
    </td>
    
    <td colspan="2">
    
      <input type="button" value = "添加学生" @click = "addStudent()">
    
    </td>
    



修改学生

====



步骤1:设置导航



![](https://img-blog.csdnimg.cn/34165cc8a5c4456b87ca5523c6c84c6d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zm254S25ZCM5a2m44CC,size_18,color_FFFFFF,t_70,g_se,x_16)



步骤2:添加路由



![](https://img-blog.csdnimg.cn/607b3781a1e947c3b0407ad7a77f92d6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zm254S25ZCM5a2m44CC,size_14,color_FFFFFF,t_70,g_se,x_16)  



步骤3:创建页面



![](https://img-blog.csdnimg.cn/2d8df060bba941f0910d7c77e97e1615.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zm254S25ZCM5a2m44CC,size_9,color_FFFFFF,t_70,g_se,x_16)



步骤:



*   先获得路由传参传过来的参数 存储到data数据区域 cid

*   根据cid查询到学生 存储到student table对student进行数据双向关联

*   修改学生信息 发送ajax请求



<div>

    <table border = "1">

        <tr>

            <td>编号</td>

            <td>

                {{ classes.cid }}

            </td>

        </tr>

        <tr>

            <td>班级名称</td>

            <td>

                <input type="text" v-model = "classes.cname">

            </td>

        </tr>

        <tr>

            <td>班级描述</td>

            <td>

                <textarea name="" id="" cols="30" rows="10" v-model = "classes.desc"></textarea>

            </td>

        </tr>

        <tr>

            <td colspan="2">

                <input type="text" value = "修改" @click = "editClasses()">

            </td>

        </tr>

    </table>

</div>



删除学生

====



步骤1:设置导航



![](https://img-blog.csdnimg.cn/d3f3ce33d0a64d81a8b0e7eb4d58f7ad.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zm254S25ZCM5a2m44CC,size_20,color_FFFFFF,t_70,g_se,x_16)



步骤2:添加方法



![](https://img-blog.csdnimg.cn/c45a97063c3e4108a2dad769a1333292.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6Zm254S25ZCM5a2m44CC,size_15,color_FFFFFF,t_70,g_se,x_16)



步骤:



*   根据cid发送ajax删除学生



<div>

    班级: <select v-model = "studentVo.cid">

        <option value="" disabled>--请选择--</option>

        <option :value="classes.cid" v-for = "(classes,index) in classesList" :key = "index">{{classes.cname}}</option>

    </select>

    姓名:<input type="text" v-model = "studentVo.studentName">

    年龄:<input type="text" v-model = "studentVo.startAge">——<input type="text" v-model = "studentVo.endAge">

    <input type="button" value = "查询" @click = "conditionStudent()">

    <table border="1">

        <tr>

            <td>ID</td>

            <td>班级</td>

            <td>姓名</td>

            <td>年龄</td>

            <td>生日</td>

            <td>性别</td>

            <td>操作</td>

        </tr>

        <tr v-for = "(student,index) in pageInfo.list" :key="index">

            <td>{{student.sid}}</td>

            <td>{{student.classes == null ? student.cname : student.classes.cname}}</td>

            <td>{{student.sname}}</td>

            <td>{{student.age}}</td>

            <td>{{student.birthday}}</td>

            <td>{{student.gender == 1 ? '男' : '女'}}</td>

            <td>

                <router-link :to="{path:'/studentEdit',query:{sid : student.sid}}">修改</router-link>

                <router-link to="" @click.native.prevent = "deleteStudent(student.sid)">删除</router-link>

            </td>

        </tr>

    </table>



    <!-- 分页 start -->

    当前第 {{pageInfo.pageNum}}页,共{{pageInfo.pages}}页, 总计数{{pageInfo.total}}条,

    每页 <select v-model = "pageInfo.pageSize" @change = "conditionStudent(1)">

        <option value="1">1</option>

        <option value="2">2</option>

        <option value="3">3</option>

        <option value="5">5</option>

        <option value="10">10</option>

    </select>条



    <a href="" v-if = "!pageInfo.isFirstPage" @click.prevent = "conditionStudent(1)">首页</a>

    <a href="" v-if = "pageInfo.hasPreviousPage" @click.prevent = "conditionStudent(pageInfo.pageNum - 1)">上一页</a>

    <a href="" v-for = "(num,index) in pageInfo.pages" @click.prevent = "conditionStudent(num)" :key="index">{{num}}</a>

    <a href="" v-if = "pageInfo.hasNextPage" @click.prevent = "conditionStudent(pageInfo.pageNum - 1)">下一页</a>

    <a href="" v-if = "!pageInfo.isLastPage" @click.prevent = "conditionStudent(pageInfo.pages)">尾页</a>

    跳转到 <input v-model = "pageInfo.pageNum" placeholder="enter跳转" @keyup.enter = "conditionStudent()"> 页

    <!-- 分页 end -->

</div>



后端

==



链接:https://pan.baidu.com/s/1032Wkr58iZfPJ7baJSsqiw 



密码:2002        



后端部分代码:



package com.czxy.controller;

import com.czxy.domain.Student;

import com.czxy.service.StudentService;

import com.czxy.vo.BaseResult;

import com.czxy.vo.StudentVo;

import com.github.pagehelper.PageInfo;

import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

/**

  • @Author 刘嘉俊

  • @Date 2022/2/21

*/

@RestController

@RequestMapping(“/student”)

@CrossOrigin

public class StudentController {

@Resource

private StudentService studentService;



@PostMapping("/condition/{pageSize}/{pageNum}")

public BaseResult condition(

        @PathVariable("pageSize") Integer pageSize,

        @PathVariable("pageNum") Integer pageNum,

        @RequestBody StudentVo studentVo) {



    // 查询

    PageInfo<Student> pageInfo = studentService.condition(pageSize,pageNum,studentVo);



    // 返回结果

    return BaseResult.ok("查询成功", pageInfo);

}



@GetMapping("/{sid}")

public BaseResult selectById(@PathVariable("sid") String sid){

    Student student = studentService.selectById(sid);



    return BaseResult.ok("查询成功",student);

}



@PutMapping

public BaseResult update(@RequestBody Student student){

    System.out.println(student);

    try {

        boolean result = studentService.update(student);

        if(result){

            return BaseResult.ok("更新成功");

        }else{

            return BaseResult.error("更新失败");

        }

    } catch (Exception e) {

        e.printStackTrace();

        return BaseResult.error(e.getMessage());

    }

}



@DeleteMapping("/{sid}")

public BaseResult delete(@PathVariable("sid")String sid){

    System.out.println("sid" + sid);

    try {

        boolean result = studentService.delete(sid);

        if(result){

            return BaseResult.ok("删除成功");

        }

        return BaseResult.error("删除失败");

    } catch (Exception e) {

ES6

  • 列举常用的ES6特性:

  • 箭头函数需要注意哪些地方?

  • let、const、var

  • 拓展:var方式定义的变量有什么样的bug?

  • Set数据结构

  • 拓展:数组去重的方法

  • 箭头函数this的指向。

  • 手写ES6 class继承。

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

微信小程序

  • 简单描述一下微信小程序的相关文件类型?

  • 你是怎么封装微信小程序的数据请求?

  • 有哪些参数传值的方法?

  • 你使用过哪些方法,来提高微信小程序的应用速度?

  • 小程序和原生App哪个好?

  • 简述微信小程序原理?

  • 分析微信小程序的优劣势

  • 怎么解决小程序的异步请求问题?

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐