课程试听
正在播放

阶段一 前端开发基础

展开
第一章 前端就业班课程导学
1-1 前端就业班课程导学
  • 就业班导学
第二章 HTML+CSS课前导学
2-1 HTML+CSS课程导学
  • 01-阶段介绍
第三章 HTML
3-1 HTML初识
  • 02-今日课程介绍
  • 03-初识-网页组成和本质
  • 04-了解-初识-浏览器
  • 05-初识-web标准
  • 06-HTML感知
3-2 HTML注释和标签
  • 07-HTML骨架
  • 08-vscode-简介
  • 09-vscode-使用
  • 10-注释
  • 11-HTML标签组成
  • 12-HTML标签关系
  • 13-HTML标签学习路径
3-3 HTML常用标签
  • 14-标题标签
  • 15-段落标签
  • 16-换行和水平线标签
  • 17-文本格式化标签
  • 18-图片-基本使用
  • 19-图片-属性
3-4 绝对路径+相对路径
  • 20-绝对路径
  • 21-相对路径-同级
  • 22-相对路径-下级
  • 23-相对路径-上级
3-5 HTML其它标签
  • 24-音频标签
  • 25-视频标签
  • 26-链接
  • 27-链接-新窗口
  • 28-综合案例-招聘
  • 29-综合案例-跳转-index
  • 30-综合案例-跳转-其他页面
3-6 列表和表格
  • 01-课程介绍
  • 02-列表-使用场景
  • 03-列表-无序
  • 04-列表-有序
  • 05-列表-自定义
  • 06-表格-基本使用
  • 07-表格-属性
  • 08-表格-表格标题和表头单元格
  • 09-表格-结构标签
  • 10-表格-合并单元格
3-7 表单
  • 11-表单-应用场景
  • 12-表单-input基本使用
  • 13-表单-input-占位符(提示信息)
  • 14-表单-单选功能和默认选中
  • 15-表单-上传多个文件
  • 16-表单-按钮-input
  • 17-表单-按钮button
  • 18-表单-下拉菜单
  • 19-表单-文本域
  • 20-表单-label标签
3-8 综合案例
  • 21-没有语义div和span
  • 22-有语义-手机端常用标签
  • 23-字符实体
  • 24-综合案例-学生信息表
  • 25-综合案例-表单
第四章 CSS
4-1 CSS初识和CSS基本选择器
  • 01-课程介绍
  • 02-体验css
  • 03-CSS引入方式
  • 04-选择器-标签
  • 05-选择器-类
  • 06-选择器-id
  • 07-选择器-通配符
4-2 font字体
  • 08-文字-字号
  • 09-文字-粗细
  • 10-文字-倾斜
  • 11-文字-字体
  • 12-拓展-层叠性
  • 13-font复合属性
4-3 文本样式和CSS样式表
  • 14-文本缩进
  • 15-水平对齐方式-文字
  • 16-水平对齐方式-图片
  • 17-文本修饰线
  • 18-行高-基本使用
  • 19-font复合属性-行高
  • 20-行高-垂直居中
4-4 Chrome调试工具
  • 21-谷歌调试工具
  • 22-拓展-颜色取值
  • 23-拓展-标签居中
4-5 综合案例【新闻页面】
  • 24-综合案例-div居中
  • 25-综合案例1-新闻-标题
  • 26-综合案例1-新闻-内容
  • 27-综合案例2-产品-div布局
  • 28-综合案例2-产品-图片效果
  • 29-综合案例2-产品-文字效果
4-6 CSS复合选择器+emmet语法
  • 01-课程介绍
  • 02-选择器-后代
  • 03-选择器-子代
  • 04-选择器-并集
  • 05-选择器-交集
  • 06-选择器-伪类
  • 07-emmet语法
4-7 CSS背景
  • 08-背景-背景色
  • 09-背景-背景图
  • 10-背景-背景平铺
  • 11-背景-背景位置
  • 12-背景-background
  • 13-背景图和img的区别
4-8 元素显示模式及转换
  • 14-显示模式-块
  • 15-显示模式-行内
  • 16-显示模式-行内块
  • 17-显示模式-转换
  • 18-拓展-标签嵌套
4-9 CSS三大特性+综合案例
  • 19-CSS特性-继承性
  • 20-CSS特性-继承性-注意点
  • 21-CSS特性-层叠性
  • 22-综合案例1
  • 23-综合案例2-思路
  • 24-综合案例2-实现
4-10 CSS优先级
  • 01-课程介绍
  • 02-优先级-基本测试
  • 03-优先级-叠加计算
  • 04-优先级-计算题
4-11 调试工具 + PxCook
  • 05-谷歌-排错
  • 06-PxCook
4-12 CSS盒模型(上)
  • 07-盒子模型-组成
  • 08-盒子模型-浏览器效果
  • 09-盒子模型-内容width和height
  • 10-盒子模型-border-复合写法
  • 11-盒子模型-border-某个方向
  • 12-盒子模型-尺寸计算-border
4-13 CSS盒模型+综合案例【新浪导航】
  • 13-盒子模型-案例
  • 14-新浪导航-布局div
  • 15-新浪导航-内容a
  • 16-盒子模型-padding-多值
  • 17-盒子模型-尺寸-border和padding
  • 18-新浪导航-padding优化
4-14 CSS盒模型(下)
  • 19-盒子模型-內减模式
  • 20-盒子模型-外边距
  • 21-清除默认样式
  • 22-版心居中
4-15 综合案例【新闻列表】
  • 23-综合案例-新闻列表-div布局
  • 24-综合案例-新闻列表-标题
  • 25-综合案例-新闻列表-内容
4-16 外边距合并和塌陷
  • 26-外边距合并
  • 27-外边距-塌陷
  • 28-行内元素的垂直内外边距
4-17 伪类和伪元素
  • 01-课程介绍
  • 02-结构伪类-基本用法
  • 03-结构伪类-公式
  • 04-结构伪类-易错点
  • 05-伪元素
4-18 浮动
  • 06-标准流
  • 07-浮动-体验行内块问题
  • 08-浮动-作用
  • 09-浮动-特点
4-19 综合案例
  • 10-综合案例-小米布局
  • 11-拓展-CSS属性顺序
  • 12-综合案例-小米产品-左右结构
  • 13-综合案例-小米产品-li
  • 14-综合案例-导航
4-20 清除浮动
  • 15-清除浮动-场景搭建
  • 16-清除浮动-额外标签
  • 17-清除浮动-单伪元素
  • 18-清除浮动-双伪元素
  • 19-清除浮动-overflow
4-21 学成在线项目
  • 01-准备工作
  • 02-版心效果
  • 03-清除工作
  • 04-header布局
  • 05-logo和nav布局
  • 06-nav-内容布局
  • 07-nav-文字样式
  • 08-搜索-布局和文本框
  • 09-搜索-按钮
  • 10-用户区域
  • 11-banner-布局
  • 12-banner-left完成
  • 13-banner-right-标题
  • 14-banner-right-内容
  • 15-banner-right-全部课程
  • 16-精品推荐-布局
  • 17-精品推荐-内容
  • 18-精品课程-标题
  • 19-精品课程-li布局
  • 20-精品课程-课程产品
  • 21-版权区域-布局
  • 22-版权区域-内容
4-22 CSS定位(上)
  • 01-课程介绍
  • 02-定位的作用
  • 03-定位的使用步骤
  • 04-了解-定位-静态
  • 05-定位-相对relative
  • 06-了解-定位-注意事项
  • 07-定位-绝对absolute-参照浏览器
  • 08-定位-子绝父相
4-23 CSS定位(下)
  • 09-案例-学成在线-hot
  • 10-定位-居中
  • 11-定位-位移居中
  • 12-案例-二维码
  • 13-案例-banner
  • 14-定位-固定
  • 15-定位-显示层级
4-24 CSS进阶
  • 16-vertical-align-01
  • 17-vertical-align-02
  • 18-光标类型
  • 19-圆角边框-基本使用
  • 20-圆角边框-工作场景
  • 21-溢出显示效果-overflow
  • 22-显示隐藏-基本使用
  • 23-案例-二维码显示隐藏
  • 24-透明属性opacity
  • 25-表格-边框合并
  • 26-拓展-CSS-三角形
  • 27-拓展-获得焦点伪类选择器
  • 28-拓展-属性选择器
第五章 企业级小兔鲜儿电商项目首页制作
5-1 精灵图
  • 01-课程介绍
  • 02-css精灵-作用
  • 03-css精灵-基本用法
  • 04-css精灵-灵活使用
5-2 CSS样式补充
  • 05-背景图缩放
  • 06-拓展-背景图缩放-复合写法
  • 07-盒子阴影
  • 08-过渡
5-3 项目前置知识
  • 09-网页与网站
  • 10-骨架标签
  • 11-SEO
  • 12-favicon-标题图标
5-4 header区域布局
  • 13-项目目录
  • 14-项目代码准备
  • 15-快捷导航-布局
  • 16-快捷导航-内容
  • 17-header-布局
  • 18-logo-优化方案
5-5 导航模块布局
  • 19-导航
  • 20-搜索-文本框
  • 21-搜索-放大镜
  • 22-购物车
5-6 版权区域布局
  • 23-版权-布局
  • 24-版权-top列表-布局
  • 25-版权-li内容
  • 26-版权-li精灵图
  • 27-版权底部
5-7 banner区域布局
  • 01-banner-图
  • 02-banner-侧导航-布局
  • 03-banner-侧导航-文字内容
  • 04-banner-箭头-布局
  • 05-banner-箭头-精灵图
  • 06-banner-圆点
5-8 新鲜好物区域布局
  • 07-新鲜好物-标题
  • 08-新鲜好物-内容-布局
  • 09-新鲜好物-内容完成
  • 10-新鲜好物-新品文字
5-9 生鲜区域布局
  • 11-生鲜-标题-布局
  • 12-生鲜-标题-h和more
  • 13-生鲜-标题-ul
  • 14-生鲜-内容-布局
  • 小兔鲜儿项目视频补充说明

阶段二 移动Web网页开发

展开
第一章 移动web开发课前导学
1-1 移动web阶段课前导学
  • 01-阶段课程介绍
第二章 2D&3D 转换与动画
2-1 字体图标
  • 第二阶段课前导学
  • 02-今日课程介绍
  • 03-字体图标-简介
  • 04-字体图标-下载
  • 05-字体图标-基本使用
  • 06-字体图标-修改样式
  • 07-案例-购物车
  • 08-字体图标-svg-上传
2-2 2D转换-位移
  • 08-平面转换-介绍
  • 09-平面转换-位移
  • 10-平面转换-位移-技巧
  • 11-平面转换-定位盒子居中
  • 12-案例-双开门-布局
  • 13-案例-双开门-hover效果
2-3 2D转换-旋转+缩放
  • 14-平面转换旋转
  • 15-平面转换-转换原点
  • 16-平面转换-多重转换
  • 17-平面转换-缩放
  • 18-案例-缩放
  • 19-案例-缩放-注意点-层叠性
2-4 渐变
  • 20-渐变
  • 21-案例-渐变
  • 22-综合案例-华为-结构分析
  • 23-综合案例-华为-mask
  • 24-综合案例-华为-hover效果
2-5 3D转换-位移和透视
  • 01-今日课程介绍
  • 02-空间转换-简介
  • 03-空间转换-位移
  • 04-空间转换-透视属性
  • 05-空间转换-透视属性-原理
2-6 3D转换-旋转+立体呈现
  • 06-空间转换-rotateZ
  • 07-空间转换-rotateX
  • 08-空间转换-rotateY
  • 09-空间转换-左手法则
  • 10-空间转换-rotate3d-了解
  • 11-空间转换-立体呈现
2-7 3D导航案例
  • 12-3d导航-结构分析
  • 13-3d导航-搭建立方体
  • 14-3d导航-hover
  • 15-上午回顾
  • 16-空间转换-缩放
2-8 CSS3动画
  • 17-动画-简介
  • 18-动画-from..to
  • 19-动画-百分比
  • 20-动画-animation复合属性01
  • 21-动画-animation复合属性02
  • 22-动画-animation拆分写法
  • 23-动画-逐帧动画-简介
  • 24-动画-逐帧动画-实现
  • 25-动画-多组动画
2-9 CSS3动画案例
  • 26-综合案例-走马灯
  • 27-综合案例-全民出游-背景大图
  • 28-综合案例-全民出游-云彩-布局
  • 29-综合案例-全民出游-云彩-动画
第三章 移动端布局
3-1 移动端基础知识
  • 01-课程介绍
  • 02-课程知识介绍
  • 03-PC和移动网页不同点
  • 04-谷歌模拟器
  • 05-分辨率
  • 06-代码参考分辨率-逻辑
  • 07-视口
  • 08-二倍图
  • 09-百分比布局
3-2 Flex伸缩布局(一)
  • 11-Flex-体验
  • 12-Flex-简介
  • 13-Flex-组成
  • 14-Flex-主轴对齐方式
  • 15-Flex侧轴对齐方式
  • 16-Flex-单独控制某个盒子侧轴对齐方式
  • 17-Flex-弹性盒子尺寸特点
  • 18-Flex-弹性伸缩比
3-3 小兔鲜儿移动端
  • 19-小兔鲜儿-确认订单-准备工作
  • 20-小兔鲜儿-确认订单-整体布局
  • 21-小兔鲜儿-确认订单-底部支付-布局
  • 22-小兔鲜儿-确认订单-底部支付-左侧
  • 23-小兔鲜儿-确认订单-底部支付-右侧
  • 24-小兔鲜儿-确认订单-用户信息-整体布局
  • 25-小兔鲜儿-确认订单-用户信息-内容布局
  • 26-小兔鲜儿-确认订单-用户信息-文字内容
  • 01-课程介绍
  • 02-小兔鲜儿-商品-布局
  • 03-小兔鲜儿-商品-数量
  • 04-小兔鲜儿-商品-描述
  • 05-小兔鲜儿-其他信息-布局
  • 06-小兔鲜儿-其他信息-内容
3-4 Flex伸缩布局(二)
  • 07-Flex-修改主轴方向
  • 08-Flex-主轴方向和对齐方式
  • 09-Flex-弹性盒子换行
  • 10-Flex-调整行对齐方式
3-5 小兔鲜儿PC端
  • 11-小兔鲜儿-pc-项目介绍
  • 12-小兔鲜儿-pc-背景
  • 13-小兔鲜儿-pc-内容布局
  • 14-小兔鲜儿-pc-账户概览-布局
  • 15-小兔鲜儿-pc-账户概览-内容
  • 16-小兔鲜儿-pc-账户概览-图片尺寸
  • 17-小兔鲜儿-pc-公共面板-布局
  • 18-小兔鲜儿-pc-公共面板-文字样式
  • 19-小兔鲜儿-pc-订单-li布局
  • 20-小兔鲜儿-pc-订单-内容布局
  • 21-小兔鲜儿-pc-订单-goods
  • 22-小兔鲜儿-pc-订单-goods-省略号
  • 23-小兔鲜儿-pc-订单-common
3-6 rem移动端适配
  • 01-移动适配
  • 02-今日课程介绍
  • 03-体验rem移动适配
  • 04-rem-基本使用
  • 05-rem-媒体查询
  • 06-rem-移动适配
  • 07-rem-布局流程
  • 08-rem-flexible移动适配
3-7 Less
  • 09-Less-体验
  • 10-Less-简介
  • 11-Less-EasyLess插件
  • 12-Less-注释
  • 13-Less-计算
  • 14-Less-嵌套
  • 15-Less-变量
  • 16-Less-导入
  • 17-Less-导出-插件配置
  • 18-Less-导出-单独路径
  • 19-Less-禁止导出
3-8 游乐园项目
  • 20-游乐园-项目准备
  • 21-游乐园-Less-导入
  • 22-游乐园-整体布局
  • 23-游乐园-根字号变量
  • 24-游乐园-banner区域
  • 25-游乐园-活动标题
  • 26-游乐园-活动-布局
  • 01-游乐园-活动-字体图标
  • 02-游乐园-活动-状态-蓝色
  • 03-游乐园-活动-状态-灰色
  • 04-游乐园-活动-文字-top
  • 05-游乐园-活动-文字-bottom
  • 06-游乐园-活动-内容复制
  • 07-游乐园-活动-底部工具栏
3-9 vw/vh
  • 08-vw-体验
  • 09-vh-体验
  • 10-vw-移动适配
  • 11-vh-移动适配
  • 12-vh-全面屏影响
3-10 B站项目
  • 13-B站-获取素材
  • 14-B站-项目准备
  • 15-B站-头部-布局
  • 16-B站-vw变量
  • 17-B站-头部-logo图标
  • 18-B站-头部-right内容
  • 19-B站-头部-更多
  • 20-B站-头部-字体图标字号
  • 21-B站-头部-tab
  • 22-B站-视频-布局
  • 23-B站-视频-思路
  • 24-B站-视频-介绍文字
  • 25-B站-视频-数量统计
  • 26-B站-视频-弹性盒子换行
  • 27-B站-头部-层级和背景色
第四章 响应式布局
4-1 媒体查询
  • 01-课程介绍
  • 02-媒体查询-max-min-width
  • 03-媒体查询-书写顺序
  • 04-了解-媒体查询-完整写法
  • 05-媒体查询-link写法
  • 06-媒体查询-隐藏
4-2 Bootstrap
  • 07-bootstrap-体验
  • 08-bootstrap-简介
  • 09-bootstrap-下载
  • 10-bootstrap-使用
  • 11-bootstrap-栅格系统-原理
  • 12-bootstrap-栅格系统-代码
  • 13-bootstrap-栅格系统-其他类名
  • 14-bootstrap-介绍
  • 15-bootstrap-表格
  • 16-bootstrap-按钮
  • 17-bootstrap-组件
  • 18-bootstrap-字体图标
  • 19-bootstrap-插件-下拉菜单
  • 20-bootstrap-插件-轮播图
4-3 AlloyTeam项目
  • 21-AlloyTeam-项目准备
  • 22-AlloyTeam-banner图-高度
  • 23-AlloyTeam-头部-组件
  • 24-AlloyTeam-头部-样式
  • 25-bootstrap-定制-项目导航
  • 26-AlloyTeam-开源项目-标题文字
  • 27-AlloyTeam-开源项目-栅格布局
  • 28-AlloyTeam-开源项目-内容
  • 29-bootstrap-全局样式

阶段三 JavaScript网页编程

展开
第一章 JavaScript网页编程课前导学
1-1 JavaScript网页编程课前导学
  • 第三阶段课前导学
第二章 JavaScript 基础语法
2-1 计算机基础和Javascript介绍
  • 课前导学
  • 01-计算机基础导读
  • 02-编程语言
  • 03-计算机基础
  • 04-JavaScript初识导读
  • 05-初始JavaScript
  • 06-浏览器执行JS过程
  • 07-JS三部分组成
  • 08-JS三种书写位置
  • 09-JS注释
  • 10-JS输入输出语句
2-2 Javascript变量
  • 11-变量导读
  • 12-什么是变量
  • 13-变量的使用
  • 14-变量案例
  • 15-变量案例弹出用户名
  • 16-变量语法扩展
  • 17-变量的命名规范
  • 18-交换2个变量的值
  • 19-变量小结
2-3 Javascript数据类型
  • 20-数据类型导读
  • 21-数据类型简介
  • 22-数字型Number
  • 23-isNaN
  • 24-字符串型String
  • 25-弹出网页警示框
  • 26-字符串长度以及拼接
  • 27-字符串拼接加强
  • 28-显示年龄案例
  • 29-boolean以及undefined和null
  • 30-typeof检测变量数据类型
  • 31-字面量
  • 32-转换为字符串类型
  • 33-转换为数字型parseInt和parseFloat
  • 34-转换为数字型Number和隐式转换
  • 35-计算年龄案例
  • 36-简单加法器案例
  • 37-转换为布尔型
  • 38-拓展阅读之编译和解释语言的区别
  • 39-拓展阅读之标识符关键字保留字
  • 40-课后作业
2-4 Javascript操作符
  • 01-运算符导读
  • 02-算数运算符
  • 03-表达式和返回值
  • 04-前置递增运算符
  • 05-后置递增运算符
  • 06-递增运算符练习
  • 07-前置递增和后置递增小结
  • 08-比较运算符
  • 09-逻辑运算符
  • 10-逻辑运算符练习
  • 11-逻辑中断逻辑与
  • 12-逻辑中断逻辑或
  • 13-赋值运算符
  • 14-运算符优先级
2-5 Javascript流程控制及案例
  • 15-流程控制分支结构导读
  • 16-流程控制
  • 17-if分支语句
  • 18-进入网吧案例
  • 19-ifelse双分支语句
  • 20-判断闰年案例
  • 21-if else if多分支语句
  • 22-判断成绩案例
  • 23-三元表达式
  • 24-数字补0案例
  • 25-switch语句
  • 26-switch 注意事项
  • 27-查询水果案例
  • 28-switch和ifelseif 区别
2-6 javascript循环及案例
  • 01-循环导读
  • 02-循环的目的
  • 03-for循环语法结构
  • 04-for循环执行过程
  • 05-断点调试
  • 06-for循环重复执行相同代码
  • 07-for循环重复执行不同代码
  • 08-for循环重复某些操作
  • 09-for循环案例
  • 10-求学生成绩案例(上)
  • 11-求学生成绩案例(下)
  • 12-一行打印五颗星星
  • 13-双重for循环执行过程
  • 14-打印5行5列的星星
  • 15-打印n行n列的星星
  • 16-打印倒三角形案例
  • 17-九九乘法表
  • 18-for循环小结
  • 19-while循环
  • 20-while案例
  • 21-do while循环
  • 22-do while案例
  • 23-循环小结
  • 24-continue关键字
  • 25-break关键字
  • 26-命名规范以及语法格式
  • 27-循环作业
2-7 Javascript数组和冒泡排序
  • 01-数组导读
  • 02-什么是数组以及创建方式
  • 03-访问数组元素
  • 04-遍历数组
  • 05-数组长度
  • 06-计算数组的和以及平均值
  • 07-求数组中的最大值
  • 08-数组转换为字符串
  • 09-数组新增元素
  • 10-数组存放1~10个值
  • 11-筛选数组方法1
  • 12-筛选数组方法2
  • 13-删除数组指定元素(数组去重)
  • 14-翻转数组
  • 15-复习交换两个变量值
  • 16-冒泡排序原理
  • 17-冒泡排序
2-8 Javascript函数及应用
  • 18-函数导读
  • 19-为什么需要函数
  • 20-函数的使用
  • 21-利用函数求1~100累加和
  • 22-函数的参数
  • 23-利用函数求任意两个数的和以及累加和
  • 24-函数形参和实参匹配问题
  • 25-函数的返回值return
  • 26-利用函数求两个数的最大值
  • 27-利用函数求数组中的最大值
  • 28-return终止函数并且只能返回一个值
  • 29-函数返回值2个注意事项
  • 30-通过榨汁机看透函数
2-9 javascript作用域及预解析
  • 01-arguments使用
  • 02-利用函数求任意个数的最大值
  • 03-利用函数翻转数组
  • 04-函数封装冒泡排序
  • 05-利用函数判断闰年
  • 06-函数可以调用另外一个函数
  • 07-输出2月份天数
  • 08-函数的两种声明方式
  • 09-作用域导读
  • 10-JavaScript作用域
  • 11-全局变量和局部变量
  • 12-JavaScript没有块级作用域就
  • 13-作用域链
  • 14-作用域链案例
  • 15-JavaScript预解析导读
  • 16-预解析
  • 17-预解析案例
2-10 javascript对象
  • 18-对象导读
  • 19-什么是对象以及为什么需要对象
  • 20-利用对象字面量创建对象
  • 21-变量属性函数方法的区别
  • 22-利用new Object创建对象
  • 23-我们为什么需要构造函数
  • 24-构造函数创建对象(上)
  • 25-构造函数创建对象(下)
  • 26-构造函数和对象区别
  • 27-new关键字执行过程
  • 28-遍历对象
  • 29-小结和作业
2-11 javascript内置对象及案例
  • 01-内置对象导读
  • 02-什么是内置对象
  • 03-学会查阅MDN文档
  • 04-数学对象Math最大值方法
  • 05-封装自己的数学对象
  • 06-Math绝对值和三个取整方法
  • 07-Math随机数方法
  • 08-猜数字游戏
  • 09-Date日期对象的使用
  • 10-格式化日期年月日星期
  • 11-格式化日期时分秒
  • 12-Date总的毫秒数(时间戳)
  • 13-倒计时(上)
  • 14-倒计时(下)
  • 15-数组创建的两种方式
  • 16-检测是否为数组两种方式
  • 17-添加数组元素
  • 18-删除数组元素
  • 19-筛选数组
  • 20-数组排序
  • 21-获取数组元素索引
  • 22-数组去重案例
  • 23-数组转换为字符串
2-12 javascript简单类型和复杂类型
  • 24-基本包装类型
  • 25-字符串不可变
  • 26-根据字符返回位置
  • 27-求某个字符出现的位置以及次数
  • 28-根据位置返回字符
  • 29-统计出现次数最多的字符(上)
  • 30-统计出现次数最多的字符(下)
  • 31-拼接以及截取字符串
  • 32-替换字符串以及转换为数组
  • 33-简单数据类型和复杂数据类型导读
  • 34-数据类型内存分配
  • 35-简单数据类型传参
  • 36-复杂数据类型传参
第三章 WebAPI编程
3-1 API 和 Web API
  • 01-Web APIs简介导读
  • 02-js基础和Web APIs两个阶段的关联性
  • 03-API 和 Web API
3-2 DOM介绍
  • 04-DOM导读
  • 05-DOM简介
  • 06-getElementById获取元素
  • 07-getElementsByTagName获取某类标签元素
  • 08-H5新增获取元素方式
  • 09-获取body和html元素
3-3 事件和样式操作及案例
  • 10-事件三要素
  • 11-执行事件过程
  • 12-操作元素-修改元素内容
  • 13-innerText和innerHTML的区别
  • 14-操作元素-修改元素属性
  • 15-分时问候案例
  • 16-操作元素-修改表单属性
  • 17-仿京东显示隐藏密码明文案例(上)
  • 18-仿京东显示隐藏密码明文案例(下)
  • 19-操作元素-修改样式属性
  • 20-仿淘宝关闭二维码案例
  • 21-循环精灵图
  • 22-显示隐藏文本框内容
  • 23-使用className修改样式属性
  • 24-密码框验证信息
  • 25-操作元素总结以及作业
3-4 百度换肤、表单全选案例
  • 01-排他思想(算法)
  • 02-百度换肤效果
  • 03-表格隔行变色效果
  • 04-表单全选取消全选(上)
  • 05-表单全选取消全选(下)
  • 06-获取自定义属性值
  • 07-设置移除自定义属性
3-5 tab栏切换案例
  • 08-tab栏切换布局分析(重要)
  • 09-tab栏切换制作(上)
  • 10-tab栏切换制作(下)
  • 11-H5自定义属性
3-6 节点操作及发布留言案例
  • 12-为什么学习节点操作以及节点简介
  • 13-节点操作之父节点
  • 14-节点操作之子节点
  • 15-节点操作之第一个子元素和最后一个子元素
  • 16-新浪下拉菜单
  • 17-节点操作之兄弟节点
  • 18-节点操作之创建和添加节点
  • 19-简单版发布留言案例
  • 01-节点操作-删除节点
  • 02-删除留言案例
  • 03-节点操作-复制节点
3-7 动态创建表格案例
  • 04-动态生成表格-创建学生数据
  • 05-动态生成表格-创建行
  • 06-动态生成表格-创建单元格
  • 07-动态生成表格-单元格填充数据
  • 08-动态生成表格-创建删除单元格
  • 09-动态生成表格-添加删除操作
  • 10-document.write创建元素(了解)
  • 11-innerHTML和createElement效率对比
  • 12-DOM重点核心
3-8 事件详解及案例
  • 13-事件高级导读
  • 14-注册事件两种方式
  • 15-attachEvent注册事件
  • 16-删除事件
  • 17-DOM事件流理论
  • 18-DOM事件流代码验证
  • 19-什么是事件对象
  • 20-e.target和this区别
  • 21-阻止默认行为
  • 22-阻止事件冒泡
  • 23-事件委托
  • 24-禁止选中文字和禁止右键菜单
  • 25-获得鼠标在页面中的坐标
  • 26-跟随鼠标的天使
  • 01-常用的键盘事件
  • 02-keyCode判断用户按下哪个键
  • 03-模拟京东按键输入内容案例
  • 04-模拟京东快递单号查询(上)
  • 05-模拟京东快递单号查询(下)
3-9 BOM介绍及应用
  • 06-BOM导读
  • 07+08-BOM概述
  • 09-页面加载事件
  • 10-调整窗口大小事件
3-10 定时器和相关案例
  • 11-定时器之setTimeout
  • 12-回调函数以及5秒之后自动关闭的广告
  • 13-清除定时器clearTimeout
  • 14-定时器之setInterval
  • 15-倒计时效果
  • 16-清除定时器clearInterval
  • 17-发送短信案例
3-11 this指向和js执行机制
  • 18-this指向问题
  • 19-js 同步和异步
  • 20-同步任务和异步任务执行过程
  • 21-js执行机制
3-12 location、navigator、history对象
  • 22-location对象常见属性
  • 23-5秒钟之后跳转页面
  • 24-获取URL参数
  • 25-location常见方法
  • 26-navigator对象
  • 27-history对象
3-13 offset、client、scroll三大家族介绍及案例应用
  • 01-PC端网页特效导读
  • 02-offsetLeft和offsetTop获取元素偏移
  • 03-offsetWidth和offsetHeight获取元素大小
  • 04-offset与style区别
  • 05-获取鼠标在盒子内的坐标
  • 06-拖动模态框(上)
  • 07-拖动模态框(中)
  • 08-拖动模态框(下)
  • 09-仿京东放大镜效果页面结构搭建
  • 10-仿京东放大镜效果显示隐藏遮挡层和大盒子
  • 11-仿京东放大镜效果遮挡层跟随鼠标
  • 12-仿京东放大镜效果限制遮挡层移动范围
  • 13-仿京东放大镜效果大图片移动
  • 14-client系列
  • 15-立即执行函数
  • 16-淘宝flexibleJS源码分析之核心原理
  • 17-淘宝flexibleJS源码分析之pageshow事件
  • 18-scroll系列
  • 19-仿淘宝固定侧边栏(上)
  • 20-仿淘宝固定侧边栏(下)
  • 21-三大系列总结
3-14 缓动动画的原理和封装
  • 22-mouseover和mouseenter区别
  • 23-动画原理
  • 24-简单动画函数封装
  • 25-动画函数-给不同元素记录不同定时器
  • 01-缓动动画原理
  • 02-缓动动画基本代码实现
  • 03-缓动动画多个目标值之间移动
  • 04-缓动动画添加回调函数
  • 05-动画函数的使用
3-15 网页轮播图实现
  • 06-网页轮播图-结构搭建
  • 07-网页轮播图-鼠标经过显示隐藏左右按钮
  • 08-网页轮播图-动态生成小圆圈
  • 09-网页轮播图-小圆圈排他思想
  • 10-网页轮播图-点击小圆圈滚动图片
  • 11-网页轮播图-右侧按钮无缝滚动
  • 12-网页轮播图-克隆第一张图片
  • 13-网页轮播图小圆圈跟随右侧按钮一起变化
  • 14-网页轮播图-两个小bug解决方案
  • 15-网页轮播图-左侧按钮功能制作
  • 16-网页轮播图-自动播放功能
3-16 节流阀、返回顶部及筋斗云案例
  • 17-节流阀以及逻辑中断应用
  • 18-带有动画的返回顶部
  • 19-筋斗云案例
3-17 移动端轮播图实现
  • 20-移动端网页特效导读
  • 21-移动端touch触摸事件
  • 22-移动端TouchEvent触摸事件对象
  • 23-移动端拖动元素
  • 01-移动端轮播图-结构搭建
  • 02-移动端轮播图-布局分析
  • 03-移动端轮播图-滚动图片
  • 04-移动端轮播图-无缝滚动
  • 05-classList类名操作
  • 06-移动端轮播图-小圆点跟随变化
  • 07-移动端轮播图-手指拖动轮播图
  • 08-移动端轮播图-手指滑动播放上一张下一张图片
  • 09-移动端轮播图-回弹效果
  • 10-返回顶部模块制作
3-18 移动端插件使用及轮播图的实现
  • 11-移动端click事件300ms延时问题解决方案
  • 12-fastclick插件使用
  • 13-swiper插件使用-引入相关文件
  • 14-移动端轮播图-按照语法规范使用
  • 15-swiper插件使用-参数更改
  • 16-移动端其他插件以及使用总结
  • 17-视频插件zy.media.js的使用
  • 18-bootstrap轮播图
  • 19-阿里百秀轮播图制作
3-19 HTML5本地存储及记住用户名案例
  • 20-本地存储导读
  • 21-本地存储之sessionStorage
  • 22-本地存储之localStorage
  • 23-记住用户名案例
第四章 jQuery 编程
4-1 jQuery介绍及常用API导读
  • 01-jQuery入门导读
  • 02-JavaScript库
  • 03-jQuery概述
  • 04-jQuery基本使用-入口函数
  • 05-jQuery顶级对象$
  • 06-DOM对象和jQuery对象
  • 07-DOM对象和jQuery对象相互转换
  • 08-jQuery常用API导读
4-2 jQuery选择器及案例
  • 09-jQuery基本和层级选择器
  • 10-jQuery隐式迭代
  • 11-jQuery筛选选择器
  • 12-jQuery筛选方法-选取父子元素
  • 13-新浪下拉菜单
  • 14-jQuery其他筛选方法
  • 15-jQuery排他思想
  • 16-淘宝服饰精品案例
4-3 jQuery链式编程及样式操作
  • 17-jQuery链式编程(修复)
  • 18-jQuery修改样式css方法
  • 19-jQuery修改样式操作类
  • 20-tab栏切换案例
  • 21-jQuery类操作和className区别
4-4 jQuery动画及王者荣耀手风琴案例
  • 22-jQuery显示与隐藏效果
  • 23-jQuery滑动效果以及事件切换
  • 24-jQuery停止动画排队stop
  • 25-jQuery淡入淡出以及突出显示案例
  • 26-jQuery自定义动画animate方法
  • 27-王者荣耀手风琴案例布局分析
  • 28-王者荣耀手风琴案例制作
4-5 jQuery实现购物车案例
  • 01-jQuery属性操作
  • 02-购物车模块-全选(上)
  • 03-购物车模块-全选(下)
  • 04-jQuery内容文本值
  • 05-购物车模块-增减商品数量
  • 06-购物车模块-修改商品小计(上)
  • 07-购物车模块-修改商品小计(中)
  • 08-购物车模块-修改商品小计(下)
  • 09-jQuery遍历对象each方法
  • 10-jQuery遍历数据$.each
  • 11-购物车模块-计算总件数和总额
  • 12-创建、添加、删除元素
  • 13-购物车模块-清理购物车
  • 14-购物车模块-选中商品添加背景颜色
  • 15-jQuery尺寸方法
  • 16-jQuery位置方法
  • 17-jQuery被卷去头部方法
  • 18-带有动画的返回顶部
4-6 jQuery实现电梯导航案例
  • 19-电梯导航案例-显示隐藏电梯导航
  • 20-电梯导航案例-点击滚动目标位置
  • 21-电梯导航案例-点击当前li添加current类
  • 22-电梯导航案例-滑动页面电梯导航自动添加current类
  • 23-电梯导航案例节流阀(互斥锁)(修复)
4-7 jQuery事件绑定和解绑
  • 01-jQuery事件导读
  • 02-事件处理on绑定一个或者多个事件
  • 03-on实现事件委派和给动态元素绑定事件
  • 04-微博发布案例
  • 05-off解绑事件
  • 06-jQuery自动触发事件
  • 07-jQuery事件对象
  • 08-jQuery其他方法导读
  • 09-jQuery对象拷贝extend
4-8 jQuery插件的使用
  • 10-jQuery多库共存
  • 11-瀑布流插件使用
  • 12-图片懒加载技术
  • 13-全屏滚动插件使用
  • 14-bootstrap组件
  • 15-bootstrapJS插件
  • 16-阿里百秀
4-9 jQuery实现todolist案例
  • 17-todolist布局功能需求分析
  • 18-todolist核心思路以及本地存储格式
  • 19-todolist按下回车读取本地存储数据
  • 20-todolist按下回车保存最新数据到本地存储
  • 21-todolist本地存储数据渲染加载到页面中
  • 22-todolist点击删除按钮获取当前索引号
  • 23-todolist点击删除按钮完成删除操作
  • 24-点击复选框修改相应数据done属性
  • 25-todolist正在进行和已经完成事项制作
  • 26-todolist统计正在进行和已经完成事项个数
第五章 基于ECharts数据可视化项目
5-1 ECharts介绍和配置
  • 01-数据可视化项目导读
  • 02-什么是数据可视化
  • 03-数据可视化项目概述
  • 04-ECharts简介
  • 05-ECharts基本使用
  • 06-选择不同类型图表
  • 07-ECharts相关配置(上)
  • 08-ECharts-grid配置
  • 09-ECharts相关配置(中)
  • 10-ECharts相关配置(下)series
  • 11-折线图生成以及配置项总结
5-2 数据可视化项目适配方案
  • 12-数据可视化项目适配方案分析
  • 13-数据可视化项目适配方案
  • 14-项目准备以及按照自动刷新浏览器插件
5-3 数据可视化项目-监控区域实现
  • 15-可视化项目-body和viewport制作
  • 16-可视化项目column列容器
  • 17-边框图片使用场景以及切割原理
  • 18-边框图片使用语法
  • 19-公共面板样式制作(上)
  • 20-公共面板样式制作(下)
  • 21-通过类名调用字体图标
  • 22-数据可视化项目-概览区域模块制作
  • 23-数据可视化项目-监控区域布局分析
  • 24-数据可视化项目-监控区域tab栏切换分析
  • 25-数据可视化项目-监控区域无缝滚动
5-4 饼形图和用户统计模块实现
  • 01-点位分布point模块-布局
  • 02-点位分布point-引入图表
  • 03-ECharts饼形图-tooltip参数含义
  • 04-ECharts饼形图-series参数含义
  • 05-点位分布模块-定制配置(上)
  • 06-点位分布模块-定制配置(下)
  • 07-EChart图表适配浏览器缩放
  • 08-地图模块map布局-预留
  • 09-用户统计users模块-布局
  • 10-用户统计模块users-引入图表
5-5 柱形图定制区域实现
  • 11-柱形图修改柱子颜色和提示框组件
  • 12-柱形图定制grid相关配置
  • 13-柱形图定制X轴相关配置
  • 14-柱形图定制Y轴相关配置
  • 15-柱形图定制-单独定制某个柱形(上)
  • 16-柱形图定制-单独定制某个柱形(下)
5-6 销售统计模块实现
  • 17-订单模块布局
  • 18-销售统计模块布局
  • 19-销售统计模块-折线图引入
  • 20-销售统计模块-配置定制(上)
  • 21-销售统计模块-配置定制(中)
  • 22-销售统计模块-配置定制(下)
  • 23-01销售统计模块-tab栏切换原理
  • 23-02销售统计模块-tab栏切换效果
  • 24-销售统计模块-点击切换找到对应数据
  • 25-销售统计模块-点击切换渲染图表
  • 26-销售统计模块-自动切换功能
5-7 渠道分布模块实现
  • 27-渠道分布和季度进度模块布局
  • 28-渠道分布模块-雷达图引入
  • 29-渠道分布模块-雷达图定制(上)
  • 30-渠道分布模块-雷达图定制(中)
  • 31-渠道分布模块-雷达图定制(下)
5-8 季度进度模块实现
  • 32-季度进度模块-饼形图引入
  • 33-季度进度模块-饼形图定制(上)
  • 34-季度进度模块-饼形图定制(下)
5-9 全国热榜模块实现
  • 35-全国热榜模块布局
  • 36-全国热榜模块tab栏切换思路分析
  • 37-铺垫知识ES6模板字符
  • 38-全国热榜模块-渲染sup模块(上)
  • 39-全国热榜模块-渲染sup模块(下)
  • 40-全国热榜模块-鼠标经过操作
  • 41-全国热榜模块-渲染sub模块
  • 42-全国热榜模块-定时器引起的问题
  • 43-全国热榜模块-定时器问题解决方案
  • 44-ECharts社区简介
  • 45-模拟飞行模块引入
  • 46-ECharts总结
第六章 面向对象编程(JS高级)
6-1 面向对象编程介绍
  • 01-JavaScript面向对象导读
  • 02-面向对象编程介绍
6-2 类和对象
  • 03-类和对象
  • 04-创建类和生成实例
  • 05-类中添加共有方法
  • 06-类继承extends和super关键字
  • 07-super调用父类普通函数以及继承中属性方法查找原则
  • 08-super必须放到子类this之前
  • 09-使用类2个注意点
  • 10-类里面this指向问题
6-3 面向对象tab栏切换案例
  • 11-面向对象tab栏-思路分析以及布局介绍
  • 12-面向对象tab栏-模块划分
  • 13-面向对象tab栏-切换功能模块
  • 14-面向对象tab栏-添加功能模块(上)
  • 15-面向对象tab栏-添加功能模块(中)
  • 16-面向对象tab栏-添加功能模块(下)
  • 17-面向对象tab栏-删除功能模块(上)
  • 18-面向对象tab栏-删除功能模块(中)
  • 19-面向对象tab栏-删除功能模块(下)
  • 20-面向对象tab栏-编辑功能模块(上)
  • 21-面向对象tab栏-编辑功能模块(中)
  • 22-面向对象tab栏-编辑功能模块(下)
6-4 构造函数和原型对象
  • 01-构造函数和原型导读
  • 02-利用构造函数创建对象
  • 03-实例成员和静态成员
  • 04-构造函数原型对象prototype
  • 05-对象原型__proto__
  • 06-原型constructor构造函数
  • 07-构造函数实例和原型对象三角关系
  • 08-原型链
  • 09-对象成员查找规则
  • 10-原型对象this指向
  • 11-利用原型对象扩展内置对象方法
  • 12-call方法的作用
  • 13-利用父构造函数继承属性
  • 14-利用原型对象继承方法(上)
  • 15-利用原型对象继承方法(下)
6-5 forEach、some、filter方法及查询商品案例
  • 16-迭代(遍历数组)forEach
  • 17-筛选数组filter方法
  • 18-查找数组中是否有满足条件的元素some方法
  • 19-查询商品案例-渲染页面数据
  • 20-查询商品案例-根据价格筛选商品(上)
  • 21-查询商品案例-根据价格筛选商品(下)
  • 22-查询商品案例-根据商品名称筛选商品
  • 23-some和forEach区别
6-6 Object.defineProperty方法
  • 24-trim方法去除字符串两侧空格
  • 25-Object.keys获取对象属性名
  • 26-Object.defineProperty方法(上)
  • 27-Object.defineProperty方法(下)
6-7 函数进阶
  • 01-函数进阶导读
  • 02-函数的定义方式
  • 03-函数的调用方式
  • 04-函数内部的this指向
6-8 call、apply、bind的使用
  • 05-call方法及其应用
  • 06-apply方法及其应用
  • 07-bind方法基本使用
  • 08-bind方法应用
  • 09-call和apply以及bind总结
6-9 闭包及应用
  • 10-什么是严格模式以及如何开启严格模块
  • 11-严格模式的变化
  • 12-高阶函数
  • 13-什么是闭包
  • 14-闭包的作用
  • 15-闭包应用-点击li打印当前索引号
  • 16-闭包应用-3秒钟之后打印li内容
  • 17-闭包应用-计算打车价格
  • 18-思考题(选讲)
6-10 递归及应用
  • 19-什么是递归函数
  • 20-利用递归求阶乘
  • 21-利用递归求斐波那契数列
  • 22-利用递归遍历数据(上)
  • 23-利用递归遍历数据(下)
  • 24-浅拷贝
  • 25-深拷贝
6-11 正则表达式及应用
  • 01-正则表达式导读
  • 02-正则表达式概述
  • 03-正则表达式在JavaScript中使用
  • 04-边界符
  • 05-字符类(上)
  • 06-字符类(下)
  • 07-量词符
  • 08-量词重复某个模式的次数
  • 09-用户名表单验证
  • 10-括号总结以及正则验证工具
  • 11-预定义类以及座机号码验证
  • 12-表单验证(上)
  • 13-表单验证(中)
  • 14-表单验证(下)
  • 15-正则替换
6-12 ES6中的let和const
  • 01-什么是ES6、为什么要学习ES6
  • 02-let关键字(一)
  • 03-let关键字(二)
  • 04-let关键字(三)
  • 05-经典面试题(一)
  • 05-经典面试题(二)
  • 06-const关键字(一)
  • 07-const关键字(二)
  • 08-const关键字(三)
  • 09-let、const、var关键字的区别
6-13 ES6解构赋值
  • 10-数组解构赋值
  • 11-对象解构(一)
  • 12-对象解构(二)
6-14 ES6箭头函数
  • 13-箭头函数(一)
  • 14-箭头函数中的this关键字
  • 15-箭头函数面试题
6-15 剩余参数和拓展运算符
  • 16-剩余参数
  • 17-剩余参数和解构配合使用
  • 18-扩展运算符
  • 19-扩展运算符应用:合并数组
  • 20-扩展运算符应用:将伪数组转换为真正的数组
6-16 Array实例方法
  • 21-Array扩展方法:Array.from方法
  • 22-Array实例方法:find
  • 23-Array实例方法:findIndex
  • 24-Array实例方法:includes
6-17 ES6模板字符串和set数据结构
  • 25-模板字符串
  • 26-startsWith方法和endsWith方法
  • 27-repeat方法介绍
  • 28-创建set数据结构
  • 29-利用set数据结构做数组去重
  • 30-set对象实例方法
  • 31-遍历set

阶段四 前后端交互

展开
第一章 前后端交互课前导学
1-1 前后端交互课前导学
  • 前后端交互课前导学
第二章 Ajax+HTTP
2-1 ajax介绍
  • 00.学习目标
  • 01.客户端与服务器
  • 02.URL地址的概念及组成部分
  • 03.图解客户端与服务器通信的过程
  • 04.基于开发者工具查看客户端与服务器的通信过程
  • 05.数据也是一种资源
  • 06.网页中如何请求数据
  • 07.资源的请求方式
  • 08.介绍Ajax的概念
  • 09.Ajax的典型应用场景
  • 10.了解jQuery中的Ajax
  • 11.$.get()函数的语法
  • 12.$.get()发起不带参数的请求
  • 13.$.get()发起带参数的请求
  • 14.$.post函数的语法
  • 15.$.post()向服务器提交数据
  • 16.$.ajax()函数的语法
  • 17.$.ajax()发起GET请求
  • 18.$.ajax发起POST请求
  • 19.接口的概念
  • 20.分析接口的请求过程
  • 21.了解接口测试工具
  • 22.使用PostMan测试GET接口
  • 23.使用PostMan测试POST接口
  • 24.接口文档
2-2 图书列表案例
  • 25.案例-基于Bootstrap渲染页面UI结构
  • 26.案例-了解渲染图书列表的实现思路
  • 27.案例-获取图书列表数据
  • 28.案例-渲染图书列表
  • 29.案例-为删除链接绑定单击事件处理函数
  • 30.案例-实现删除图书的功能
  • 31.案例-为添加按钮绑定点击事件处理函数
  • 32.案例-实现添加图书的功能
2-3 聊天机器人
  • 33.聊天机器人-演示案例要完成的效果
  • 34.聊天机器人-梳理案例的代码结构
  • 35.聊天机器人-将用户输入的内容渲染到聊天窗口
  • 【补充说明】聊天机器人接口更新通知
  • 36.聊天机器人-发起请求获取聊天消息
  • 37.聊天机器人-将机器人的聊天内容转换为语音
  • 38.聊天机器人-通过回车键发送消息
2-4 form表单+案例
  • 00.学习目标
  • 01.表单的基本使用-什么是表单
  • 02.表单的基本使用-表单的组成部分
  • 03.form标签的属性-action
  • 04.form标签的属性-target
  • 05.form标签的属性-method
  • 06.form标签的属性-enctype
  • 07.表单的同步提交及缺点
  • 08.通过Ajax提交表单数据-监听表单的提交事件
  • 09.通过Ajax提交表单数据-阻止表单的默认提交行为
  • 10.通过Ajax提交表单数据-快速获取表单中的数据
  • 11.案例-基于bootstrap渲染评论列表的UI结构
  • 12.案例-获取评论列表数据
  • 13.案例-渲染评论列表
  • 14.案例-改造form表单
  • 15.案例-实现发表评论的功能
2-5 模板引擎+案例
  • 16.模板引擎-模板引擎的基本概念
  • 17.模板引擎-了解并安装art-template
  • 18.模板引擎-使用传统方式渲染UI结构
  • 19.模板引擎-介绍模板引擎的使用步骤
  • 20.标准语法-输出
  • 21.标准语法-原文输出
  • 22.标准语法-条件输出
  • 23.标准语法-循环输出
  • 24.标准语法-什么是过滤器
  • 25.标准语法-定义过滤器和调用过滤器的基本语法
  • 26.标准语法-定义格式化时间的过滤器
  • 27.案例-介绍新闻列表案例要实现的效果
  • 28.案例-获取新闻列表数据
  • 29.案例-定义新闻Item项的模板
  • 30.案例-编译模板渲染新闻列表结构
  • 31.案例-定义时间过滤器
  • 32.案例-定义补零函数
2-6 正则与字符串操作
  • 33.正则与字符串操作-介绍正则的exec函数
  • 34.正则与字符串操作-提取分组
  • 35.正则与字符串操作-字符串的replace函数
  • 36.正则与字符串操作-对字符串进行多次replace操作
  • 37.正则与字符串操作-使用while循环进行字符串的replace操作
  • 38.正则与字符串操作-将正则匹配到的内容替换为真值
  • 39.实现简易的模板引擎
2-7 xhr的基本使用
  • 00.学习目标
  • 01.xhr的基本使用-什么是XMLHttpRequest
  • 02.xhr的基本使用-使用xhr发起GET请求
  • 03.xhr的基本使用-了解xhr对象的readyState属性
  • 04.xhr的基本使用-使用xhr发起带参数的GET请求
  • 05.xhr的基本使用-了解查询字符串的概念
  • 06.xhr的基本使用-GET请求携带参数的本质
  • 07.xhr的基本使用-什么是URL编码
  • 08.xhr的基本使用-如何对URL进行编码与解码
  • 09.xhr的基本使用-使用xhr发起POST请求
2-8 数据交换格式
  • 10.数据交换格式-什么是数据交换格式
  • 11.数据交换格式-XML
  • 12.数据交换格式-什么是JSON
  • 13.数据交换格式-JSON的两种结构
  • 14.数据交换格式-JSON语法注意事项
  • 15.数据交换格式-JSON和JS对象的关系
  • 16.数据交换格式-JSON和JS对象的互转
  • 17.数据交换格式-序列化和反序列化
2-9 封装自己的Ajax函数
  • 18.封装自己的Ajax函数-介绍要实现的效果以及options参数选项
  • 19.封装自己的Ajax函数-处理data参数
  • 20.封装自己的Ajax函数-定义itheima函数
  • 21.封装自己的Ajax函数-判断请求的类型
  • 22.封装自己的Ajax函数-测试itheima函数的可用性
2-10 XHR Level2的新特性
  • 23.XHR Level2的新特性-了解新版xhr中支持的新功能
  • 24.XHR Level2的新特性-设置HTTP请求时限
  • 25.XHR Level2的新特性-使用FormData对象管理表单数据
  • 26.XHR Level2的新特性-使用FormData快速获取表单中的数据
  • 27.XHR Level2的新特性-定义上传文件页面的UI结构
  • 28.XHR Level2的新特性-验证是否选择了待上传的文件
  • 29.XHR Level2的新特性-向FormData中追加文件
  • 30.XHR Level2的新特性-使用xhr发起上传文件的请求
  • 31.XHR Level2的新特性-完成上传文件的功能
  • 32.XHR Level2的新特性-计算文件的上传进度
  • 33.XHR Level2的新特性-基于bootstrap绘制进度条效果
  • 34.XHR Level2的新特性-动态设置进度条
  • 35.XHR Level2的新特性-监听上传完成的事件
2-11 jQuery高级用法
  • 36.jQuery高级用法-渲染页面结构并验证是否选择了文件
  • 37.jQuery高级用法-使用jQuery发起上传文件的请求
  • 38.jQuery高级用法-通过jQuery实现loading效果
2-12 axios
  • 39.axios-什么是axios
  • 40.axios-使用axios发起GET请求
  • 41.axios-使用axios发起POST请求
  • 42.axios-直接使用axios发起GET和POST数据请求
2-13 同源策略
  • 00.学习目标
  • 01.同源策略-什么是同源
  • 02.同源策略-什么是同源策略
2-14 跨域
  • 03.跨域-什么是跨域
  • 04.跨域-浏览器对跨域请求的拦截
  • 05.跨域-如何实现跨域数据请求
2-15 Jsonp
  • 06.JSONP-了解JSONP的概念以及实现原理
  • 07.JSONP-演示跨域Ajax数据请求存在的问题
  • 08.剖析JSONP的实现原理-将函数的定义和调用分离为两个script标签
  • 09.剖析JSONP的实现原理-将函数的调用抽离为单独的JS文件
  • 10.剖析JSONP的实现原理-通过callback指定回调函数的名称
  • 11.JSONP-自己实现一个简单的JSONP
  • 12.JSONP-了解JSONP的缺点
  • 13.JSONP-使用jQuery发起JSONP数据请求
  • 14.JSONP-jQuery中自定义JSONP参数以及回调函数名称
  • 15.JSONP-jQuery中JSONP的实现过程
2-16 淘宝搜索案例
  • 16.淘宝搜索案例-介绍案例效果
  • 17.淘宝搜索案例-获取用户输入的搜索关键词
  • 18.淘宝搜索案例-封装getSuggestList函数
  • 19.淘宝搜索案例-在页面中定义搜索建议列表
  • 20.淘宝搜索案例-定义模板结构
  • 21.淘宝搜索案例-定义渲染模板结构的函数
  • 22.淘宝搜索案例-搜索关键词为空时隐藏搜索建议列表
  • 23.淘宝搜索案例-美化搜索建议列表
2-17 防抖和节流
  • 24.输入框的防抖-什么是防抖
  • 25.输入框的防抖-防抖的应用场景
  • 26.输入框的防抖-实现输入框的防抖
  • 27.缓存搜索的建议列表
  • 28.防抖和节流-什么是节流
  • 29.防抖和节流-节流的应用场景
  • 30.防抖和节流-渲染UI效果
  • 31.防抖和节流-不使用节流实现鼠标跟随效果
  • 32.防抖和节流-节流阀的概念
  • 33.防抖和节流-使用节流优化鼠标跟随效果
  • 34.防抖和节流-总结防抖和节流的区别
2-18 HTTP协议简介
  • 00.学习目标
  • 01.HTTP协议简介-什么是通信
  • 02.HTTP协议简介-什么是通信协议
  • 03.HTTP协议简介-什么是HTTP协议
  • 04.HTTP协议简介-HTTP协议的交互模型
2-19 HTTP请求消息
  • 05.HTTP请求消息-什么是HTTP请求消息
  • 06.HTTP请求消息-HTTP请求消息的4个组成部分
  • 07.HTTP请求消息-请求行
  • 08.HTTP请求消息-请求头部
  • 09.HTTP请求消息-空行
  • 10.HTTP请求消息-请求体
  • 11.HTTP请求消息-总结HTTP请求消息的组成部分
2-20 HTTP响应消息
  • 12.HTTP响应消息-响应消息的概念以及组成部分
  • 13.HTTP响应消息-状态行
  • 14.HTTP响应消息-响应头部
  • 15.HTTP响应消息-空行
  • 16.HTTP响应消息-响应体
  • 17.HTTP响应消息-总结HTTP响应消息的组成部分
2-21 HTTP响应状态码
  • 18.HTTP请求方法
  • 19.HTTP响应状态码-什么是HTTP响应状态码
  • 20.HTTP响应状态码-HTTP响应状态码的组成及分类
  • 21.HTTP响应状态码-2xx成功相关的响应状态码
  • 22.HTTP响应状态码-3xx重定向相关的响应状态码
  • 23.HTTP响应状态码-4xx客户端错误相关的响应状态码
  • 24.HTTP响应状态码-5xx服务端错误相关的响应状态码
第三章 Git和github基本使用
3-1 关于版本控制
  • 00.Git学习目标
  • 01.关于版本控制 - 使用版本控制软件的好处
  • 02.关于版本控制 - 版本控制系统的分类
  • 03.关于版本控制 - 了解三大类版本控制系统各自的特点
3-2 Git基础概念
  • 04.Git基础概念 - 什么是Git
  • 05.Git基础概念 - Git直接记录快照而非差异比较
  • 06.Git基础概念 - 近乎所有操作都是本地执行的
  • 07.Git基础概念 - Git中的三个区域
  • 08.Git基础概念 - Git中的三种状态
  • 09.Git基础概念 - Git的基本工作流程
3-3 安装并配置Git
  • 10.安装并配置Git - 在Windows中下载并安装Git
  • 11.安装并配置Git-配置用户信息
  • 12.安装并配置Git - Git的全局配置文件
  • 13.安装并配置Git - 使用Git命令检查全局配置信息
  • 14.安装并配置Git - 获取帮助信息
3-4 Git的基本操作
  • 15.Git的基本操作 - 获取Git仓库的两种方式
  • 16.Git的基本操作 - 在现有目录中初始化仓库
  • 17.Git的基本操作 - 工作区中文件的4种状态
  • 18.Git的基本操作 - 检查文件的状态
  • 19.Git的基本操作 - 以精简的方式显示文件的状态
  • 20.Git的基本操作 - 跟踪新文件
  • 21.Git的基本操作 - 提交更新
  • 22.Git的基本操作 - 对已提交的文件进行修改
  • 23.Git的基本操作 - 暂存已修改的文件
  • 24.Git的基本操作 - 提交已暂存的文件
  • 25.Git的基本操作 - 撤销对文件的修改
  • 26.Git的基本操作 - 向暂存区中一次性添加多个文件
  • 27.Git的基本操作 - 取消暂存的文件
  • 28.Git的基本操作 - 跳过使用暂存区域
  • 29.Git的基本操作 - 移除文件
  • 30.Git的基本操作 - Git忽略文件和glob匹配模式
  • 31.Git的基本操作 - .gitignore使用示例
  • 32.Git的基本操作 - 查看提交历史
  • 33.Git的基本操作 - 回退到指定的版本
  • 34.Git的基本操作 - 小结
3-5 开源相关的概念
  • 01.开源相关的概念 - 了解开源和闭源的概念
  • 02.开源相关的概念 - 开源许可协议
  • 03.开源相关的概念 - 为什么要拥抱开源
  • 04.开源相关的概念 - 了解什么是开源项目托管平台
  • 05.开源相关的概念 - 什么是GitHub
3-6 github
  • 06.github - 注册GitHub账号
  • 07.github - 新建空白远程仓库
  • 08.github - 远程仓库的两种访问方式
  • 09.github - 基于HTTPS将本地仓库上传到GitHub
  • 10.github - 了解git push命令的作用
  • 11.github - 生成SSH key
  • 12.github - 配置SSH key
  • 13.github - 检测SSH key是否配置成功
  • 14.github - 基于SSH将本地仓库上传到GitHub
  • 15.github - 将远程仓库克隆到本地
3-7 分支
  • 16.分支 - 了解分支的概念以及分支在实际开发中的作用
  • 17.分支 - master主分支
  • 18.分支 - 功能分支
  • 19.分支 - 查看分支列表
  • 20.分支 - 创建新分支
  • 21.分支 - 切换分支
  • 22.分支 - 快速创建和切换分支
  • 23.分支 - 合并分支
  • 24.分支 - 删除分支
  • 25.分支 - 遇到冲突时的分支合并
  • 26.分支 - 将本地分支推送到远程分支
  • 27.分支 - 查看远程分支列表
  • 28.分支 - 跟踪分支
  • 29.分支 - 拉取远程分支的最新代码
  • 30.分支 - 删除远程分支
  • 31.总结
第四章 Node基础
4-1 node介绍和环境安装
  • 00.学习目标
  • 01.初识Node - 为什么JavaScript可以在浏览器中被执行
  • 02.初识Node - 为什么JavaScript可以操作DOM和BOM
  • 03.初识Node - 浏览器中的JavaScript运行环境
  • 04.初识Node - JavaScript能否做后端开发
  • 05.初识Node - 什么是Node.js
  • 06.初识Node - Node.js中的JavaScript运行环境
  • 07.初识Node - 了解Node.js的学习路径
  • 08.初识Node - 下载并安装Node
  • 09.初识Node - 查看已安装的Node.js的版本号
  • 10.初识Node - 了解终端的概念
  • 11.初识Node - 在Node.js环境中执行JavaScript代码
  • 12.初识Node - 使用更方便的形式执行Node命令
  • 13.初识Node - 了解常用的终端快捷键
4-2 node-fs模块
  • 14.fs - 了解什么是fs文件系统模块
  • 15.fs - 使用fs.readFile方法读取文件
  • 16.fs - 判断文件是否读取成功
  • 17.fs - 使用fs.writeFile方法写入文件
  • 18.fs - 判断文件是否写入成功
  • 19.fs案例 - 分析核心的实现步骤
  • 20.fs案例 - 读取成绩文件
  • 21.fs案例 - 处理成绩
  • 22.fs案例 - 将整理好的成绩写入到新文件
  • 23.fs路径问题 - 演示路径动态拼接的问题
  • 24.fs路径问题 - 使用完整路径替代相对路径
  • 25.fs路径问题 - 使用__dirname完美解决路径动态拼接的问题
4-3 node-path模块
  • 26.path - 了解path路径模块的作用
  • 27.path - 使用path.join方法进行路径的拼接
  • 28.path - 使用path.basename方法获取路径中的文件名
  • 29.path - 使用path.extname方法获取路径中的扩展名
4-4 node-时钟案例
  • 30.时钟案例 - 介绍需求并分析案例的实现步骤
  • 31.时钟案例 - 定义正则表达式
  • 32.时钟案例 - 使用fs.readFile方法读取HTML文件的内容
  • 33.时钟案例 - 自定义resolveCSS方法提取样式表文件
  • 34.时钟案例 - 自定义resolveJS方法提取JS脚本文件
  • 35.时钟案例 - 自定义resolveHTML方法提取html文件
  • 36.时钟案例 - 时钟案例的两个注意点
4-5 node-http模块
  • 01.http模块 - 什么是http模块
  • 02.http模块 - 进一步理解http模块的作用
4-6 node-服务器概念
  • 03.服务器相关的概念 - IP地址
  • 04.服务器相关的概念 - 域名和域名服务器
  • 05.服务器相关的概念 - 端口号
4-7 node-创建基本web服务器
  • 06.创建最基本的web服务器 - 了解实现的核心步骤和代码
  • 07.创建最基本的web服务器 - 通过4个核心步骤创建基本的web服务器
  • 08.创建最基本的web服务器 - req请求对象
  • 09.创建最基本的web服务器 - res响应对象
  • 10.创建最基本的web服务器 - 解决中文乱码问题
4-8 node-根据不同的url响应不同的html内容
  • 11.根据不同的url响应不同的html内容 - 分析核心的实现步骤
  • 12.根据不同的url响应不同的html内容 - 按照分析的步骤写代码实现功能
4-9 node-时钟web服务器案例
  • 13.时钟web服务器案例 - 介绍核心实现思路
  • 14.时钟web服务器案例 - 导入需要的模块并创建基本的web服务器
  • 15.时钟web服务器案例 - 将资源的请求url映射为文件的存放路径
  • 16.时钟web服务器案例 - 读取文件的内容并响应给客户端
  • 17.时钟web服务器案例 - 优化资源的请求路径
4-10 node-模块化
  • 18.模块化 - 学习目标
  • 19.模块化 - 什么是模块化
  • 20.模块化 - 模块化规范相关的概念
  • 21.Node中的模块化 - 了解Node中模块的3大分类
  • 22.Node中的模块化 - 使用require方法加载模块
  • 23.Node中的模块化 - 使用require的小注意点
  • 24.Node中的模块化 - 了解模块作用域的概念以及好处
  • 25.Node中的模块化 - 了解module对象
  • 26.Node中的模块化 - 了解module.exports对象的作用
  • 27.Node中的模块化 - 使用module.exports向外共享成员
  • 28.Node中的模块化 - 共享成员是的注意点
  • 29.Node中的模块化 - exports对象
  • 30.exports和module.exports的使用误区 - 案例1
  • 31.exports和module.exports的使用误区 - 案例2
  • 32.exports和module.exports的使用误区 - 案例3
  • 33.exports和module.exports的使用误区 - 案例4
  • 34.Node中的模块化 - CommonJS模块化规范
第五章 npm+模块加载机制
5-1 包
  • 35.包 - 什么是包
  • 36.包 - 包的来源
  • 37.包 - 为什么需要包
  • 38.包 - 从哪里下载包
  • 39.包 - 如何下载包
5-2 npm
  • 40.npm初体验 - 格式化时间的传统做法
  • 41.npm初体验 - 了解如何使用第三方的包对时间进行格式化
  • 42.npm初体验 - 介绍如何使用npm install命令安装具体的包
  • 43.npm初体验 - 参考moment官方文档进行时间的格式化
  • 44.npm初体验 - 了解node_modules文件夹和package-lock.json文件的作用
  • 45.npm初体验 - 安装指定版本的包
  • 46.npm初体验 - 包的语义化版本规范
5-3 包管理配置文件及解决下包慢的问题
  • 01.包管理配置文件 - 概念
  • 02.包管理配置文件 - 进一步理解package.json配置文件的作用
  • 03.包管理配置文件 - 通过命令快速创建package.json文件
  • 04.包管理配置文件 - 了解dependencies节点的作用
  • 05.包管理配置文件 - 一次性安装所有的包
  • 06.包管理配置文件 - 卸载包
  • 07.包管理配置文件 - 了解devDependencies节点的作用
  • 08.解决下包慢的问题 - 分析下包速度慢的原因
  • 09.解决下包慢的问题 - 了解淘宝npm镜像服务器的作用
  • 10.解决下包慢的问题 - 切换npm的下包镜像源
  • 11.解决下包慢的问题 - 使用nrm切换下包的服务器
5-4 包的分类
  • 12.包的分类 -项目包
  • 13.包的分类 - 全局包
  • 14.包的分类 - 演示i5ting_toc的安装和使用
  • 15.规范的包结构
5-5 开发属于自己的包
  • 16.开发属于自己的包 - 了解需要实现的功能
  • 17.开发属于自己的包 - 初始化包的基本结构
  • 18.开发属于自己的包 - 初始化package.json配置文件
  • 19.开发属于自己的包 - 在index.js中定义格式化时间的方法
  • 20.开发属于自己的包 - 了解package.json中main属性的作用
  • 21.开发属于自己的包 - 在index.js中定义转义HTML的方法
  • 22.开发属于自己的包 - 在index.js中定义还原HTML的方法
  • 23.开发属于自己的包 - 将不同的功能进行模块化的拆分
  • 24.开发属于自己的包 - 编写包的使用说明文档
5-6 发布包
  • 25.发布包 - 注册npm账号
  • 26.发布包 - 登录npm账号
  • 27.发布包 - 演示如何把包发布到npm上
  • 28.发布包 - 演示如何删除已发布的包
5-7 模块的加载机制
  • 29.模块的加载机制 - 优先从缓存中加载
  • 30.模块的加载机制 - 内置模块的加载机制
  • 31.模块的加载机制 - 自定义模块的加载机制
  • 32.模块的加载机制 - 第三方模块的加载机制
  • 33.模块的加载机制 - 目录作为模块时的加载机制
第六章 Express
6-1 express
  • 34.express - 学习目标
  • 35.初识express - express简介
  • 36.初识express - 使用express创建基本的web服务器
  • 37.初识express - 监听GET和POST请求以及响应客户端
  • 38.初识express - 获取URL中携带的查询参数
  • 39.初识express - 获取URL中的动态参数
  • 40.初识express - 补充动态参数的两个注意点
  • 41.初识express - 使用express.static托管静态资源
  • 42.初识express - 托管多个静态资源目录
  • 43.初识express - 挂载路径前缀
  • 44.初识express - 安装nodemon
  • 45.初识express - 使用nodemon实现项目的自动重启
  • 01.express路由 - 路由的概念
  • 02.express路由 - 了解express中路由的概念及组成部分
  • 03.express路由 - 路由的匹配过程
  • 04.express路由 - 路由最简单的用法
  • 05.express路由 - 创建路由模块
  • 06.express路由 - 注册路由模块
  • 07.express路由 - 为路由模块添加访问前缀
6-2 中间件
  • 08.中间件 - 中间件的概念
  • 09.中间件 - express中间件的调用流程
  • 10.中间件 - express中间件的格式
  • 11.中间件 - next函数的作用
  • 12.中间件 - 定义中间件函数
  • 13.中间件 - 全局生效的中间件
  • 14.中间件 - 定义全局中间件的简化形式
  • 15.中间件 - 中间件的作用
  • 16.中间件 - 定义多个全局中间件
  • 17.中间件 - 局部生效的中间件
  • 18.中间件 - 使用多个局部中间件
  • 19.中间件 - 了解中间件的5个注意事项
  • 20.中间件的分类 - 了解什么是应用级别和路由级别的中间件
  • 21.中间件的分类 - 错误级别的中间件
  • 22.中间件的分类 - 了解3个内置的中间件
  • 23.中间件的分类 - 演示express.static中间件的使用
  • 24.中间件的分类 - 演示express.urlencoded中间件的使用
  • 25.中间件的分类 - 演示body-parser第三方中间件的使用
  • 26.自定义中间件 - 介绍需求及实现步骤
  • 27.自定义中间件 - 监听req的data事件
  • 28.自定义中间件 - 监听req的end事件
  • 29.自定义中间件 - 使用querystring模块解析请求体数据
  • 30.自定义中间件 - 为req挂载自定义的body属性
  • 31.自定义中间件 - 将自定义中间件封装为独立的模块
6-3 基于express写接口
  • 32.基于express写接口 - 创建基本的服务器
  • 33.基于express写接口 - 创建API路由模块
  • 34.基于express写接口 - 编写GET接口
  • 35.基于express写接口 - 编写POST接口
第七章 MySQL数据库
7-1 cors+jsonp
  • 36.cors - 接口的跨域问题
  • 37.cors - 使用cors中间件解决跨域问题
  • 38.cors - 了解cors的概念以及注意事项
  • 39.cors - 了解Access-Control-Allow-Origin的作用
  • 40.cors - 了解Access-Control-Allow-Headers的作用
  • 41.cors - 了解Access-Control-Allow-Methods的作用
  • 42.cors - 简单请求的概念
  • 43.cors - 预检请求的概念
  • 44.cors - 简单请求和预检请求的区别
  • 45.jsonp - 回顾jsonp的概念与特点
  • 46.jsonp - 创建jsonp接口的注意事项
  • 47.jsonp - 实现jsonp的接口
  • 48.jsonp - 测试jsonp接口
7-2 数据库的基本概念
  • 00.学习目标
  • 01.数据库的基本概念 - 什么是数据库
  • 02.数据库的基本概念 - 常见的数据库及分类
  • 03.数据库的基本概念 - 了解传统型数据库的数据组织结构
  • 04.数据库的基本概念 - 实际开发中库、表、行、字段之间的关系
  • 05.安装MySQL - 了解需要安装哪些MySQL相关的软件
  • 06.安装MySQL - 介绍在Mac下如何安装MySQL
  • 07.安装MySQL - 演示如何在Windows10系统上安装MySQL
  • 08.MySQL的基本使用 - 使用MySQL Workbench连接数据库
  • 09.MySQL的基本使用 - 了解MySQL Workbench主界面的组成部分
  • 10.MySQL的基本使用 - 创建数据库
  • 11.MySQL的基本使用 - 创建数据表
  • 12.MySQL的基本使用 - 设计表的字段名称和数据类型
  • 13.MySQL的基本使用 - 设置字段的特殊标识
  • 14.MySQL的基本使用 - 向表中写入数据
7-3 sql
  • 15.sql - 介绍什么是SQL
  • 16.sql - 了解SQL能够做什么以及SQL的学习目标
  • 17.sql - 介绍SELECT语句的语法格式
  • 18.sql - 演示SELECT语句的两种用法
  • 19.sql - 演示INSERT INTO语句的使用
  • 20.sql - 演示UPDATE语句的使用
  • 21.sql - 演示DELETE语句的使用
  • 22.sql - 演示WHERE子句的使用
  • 23.sql - 演示AND和OR运算符的使用
  • 24.sql - 演示ORDER BY子句的基本使用
  • 25.sql - 演示ORDER BY的多重排序
  • 26.sql - 演示COUNT函数的使用
  • 27.sql - 演示如何使用AS关键字为列设置别名
  • 28.sql - 演示如何保存和打开.sql的文件
7-4 mysql模块
  • 29.mysql模块 - 了解在项目中操作MySQL数据库的3个步骤
  • 30.mysql模块 - 安装与配置mysql模块
  • 31.mysql模块 - 测试mysql模块能否正常工作
  • 32.mysql模块 - 使用SELECT语句查询数据
  • 33.mysql模块 - 使用INSERT INTO语句插入数据
  • 34.mysql模块 - 说明id的唯一性
  • 35.mysql模块 - 演示插入数据的便捷方式
  • 36.mysql模块 - 使用UPDATE语句更新数据
  • 37.mysql模块 - 演示更新数据的便捷方式
  • 38.mysql模块 - 使用DELETE语句删除数据
  • 39.mysql模块 - 演示如何实现标记删除
第八章 身份认证
8-1 web开发模式
  • 01.web开发模式 - 了解服务端渲染的概念及优缺点
  • 02.web开发模式 - 了解前后端分离的概念及优缺点
  • 03.web开发模式 - 如何选择web开发模式
8-2 身份认证+session
  • 04.身份认证 - 什么是身份认证
  • 05.身份认证 - 了解为什么需要身份认证以及身份认证的方案
  • 06.session - 了解HTTP协议的无状态性
  • 07.session - 如何突破HTTP无状态的限制
  • 08.session - 什么是cookie
  • 09.session - cookie在身份认证中的作用
  • 10.session - cookie不具有安全性
  • 11.session - 提高身份认证的安全性
  • 12.session - 介绍session的工作原理
  • 13.session - 安装并配置express-session中间件
  • 14.session - 向session中存数据
  • 15.session - 从session中取数据
  • 16.session - 清空session
  • 17.session - 演示session案例的效果并梳理实现的步骤
8-3 jwt
  • 18.jwt - 了解session认证的局限性以及jwt的概念
  • 19.jwt - 了解jwt的工作原理
  • 20.jwt - 了解jwt的三个组成部分以及各自代表的含义
  • 21.jwt - 了解jwt的使用方式
  • 22.jwt - 安装并导入jwt相关的包
  • 23.jwt - 定义secret秘钥
  • 24.jwt - 调用jsonwebtoken提供的sign方法生成token字符串
  • 25.jwt - 将jwt字符串还原为json对象
  • 26.jwt - 使用req.user获取用户信息
  • 27.jwt - 捕获解析jwt失败后产生的错误
第九章 大事件后台管理系统项目
9-1 准备工作
  • 01.准备工作 - 项目介绍
  • 02.准备工作 - 初始化项目结构
  • 03.准备工作 - 使用GitHub管理大事件的项目
  • 04.准备工作 - 安装VSCode的Live Server插件辅助开发
9-2 登录注册
  • 05.登录注册 - 绘制login页面的基本结构
  • 06.登录注册 - 实现登录和注册的按需切换
  • 07.登录注册 - 绘制登录表单的基本结构
  • 08.登录注册 - 美化登录表单的样式
  • 09.登录注册 - 绘制文本框前面的小图标
  • 10.登录注册 - 快速绘制注册的表单
  • 11.登录注册 - 为表单项添加验证规则
  • 12.登录注册 - 自定义校验规则
  • 13.登录注册 - 为注册表单设置校验规则
  • 14.登录注册 - 调用接口发起注册用户的请求
  • 【补充】大事件项目接口说明
  • 15.登录注册 - 使用layer提示消息
  • 16.登录注册 - 调用接口发起登录的请求
  • 17.登录注册 - 在ajaxPrefilter中统一拼接请求的根路径
  • 18.登录注册 - 提交login分支的代码到GitHub
9-3 后台主页
  • 19.后台主页 - 快速实现后台主页的布局效果
  • 20.后台主页 - 修改侧边栏的结构
  • 21.后台主页 - 使用lay-shrink实现左侧菜单互斥效果
  • 22.后台主页 - 为菜单项添加图标
  • 23.后台主页 - 了解iframe标签如何使用
  • 24.后台主页 - 使用iframe标签在内容主体区域显示网页内容
  • 25.后台主页 - 解决3个小问题
  • 26.后台主页 - 渲染图片头像和文字头像
  • 01.后台主页 - 获取用户的基本信息
  • 02.后台主页 - 渲染用户头像
  • 03.后台主页 - 统一为有权限的接口设置headers请求头
  • 04.后台主页 - 实现退出功能
  • 05.后台主页 - 控制用户的访问权限
  • 06.后台主页 - 优化权限控制的代码
  • 07.后台主页 - 将本地仓库中的代码合并到GitHub仓库
9-4 基本资料
  • 08.基本资料 - 创建基本资料对应的页面
  • 09.基本资料 - 绘制基本资料对应的表单
  • 10.基本资料 - 获取用户的基本信息
  • 11.基本资料 - 使用form.val方法快速为表单赋值
  • 12.基本资料 - 实现表单的重置效果
  • 13.基本资料 - 发起请求更新用户的信息
9-5 重置密码
  • 14.重置密码 - 渲染重置密码的页面结构
  • 15.重置密码 - 为密码框定义校验规则
  • 16.重置密码 - 发起请求实现重置密码的功能
9-6 更换头像
  • 17.更换头像 - 初步渲染更换头像页面的结构
  • 18.更换头像 - 快速初始化头像裁剪区域
  • 19.更换头像 - 实现选择文件的功能
  • 20.更换头像 - 实现裁剪区域图片的替换
  • 21.更换头像 - 将裁剪后的头像上传到服务器
  • 22.更换头像 - 了解base64格式的图片
  • 23.更换头像 - 设置头部区域的快捷方式
  • 24.更换头像 - 将本地的代码推送到GitHub
9-7 文章类别
  • 25.文章类别 - 创建并显示文章类别页面
  • 26.文章类别 - 快速绘制文章类别页面的基本结构
  • 27.文章类别 - 获取并使用模板引擎渲染表格的数据
  • 28.文章类别 - 使用layer.open实现弹出层效果
  • 29.文章类别 - 在弹出层中渲染form表单结构
  • 30.文章类别 - 实现添加文章分类的功能
  • 01.文章类别 - 点击编辑按钮展示修改文章分类的弹出层
  • 02.文章类别 - 为修改文章分类的弹出层填充表单数据
  • 03.文章类别 - 更新文章分类的数据
  • 04.文章类别 - 删除文章分类
9-8 文章列表
  • 05.文章列表 - 创建文章列表页面
  • 06.文章列表 - 定义查询参数对象q
  • 07.文章列表 - 请求文章列表数据并使用模板引擎渲染列表结构
  • 08.文章列表 - 定义美化时间格式的过滤器
  • 09.文章列表 - 绘制筛选区域的UI结构
  • 10.文章列表 - 发起请求获取并渲染文章分类的下拉选择框
  • 11.文章列表 - 使用form.render方法重新渲染表单区域的UI结构
  • 12.文章列表 - 实现筛选的功能
9-9 分页
  • 13.分页 - 定义渲染分页的renderPage方法
  • 14.分页 - 调用laypage.render方法渲染分页的基本结构
  • 15.分页 - 在jump回调函数中通过obj.curr获取到最新的页码值
  • 16.分页 - 演示直接调用initTable方法时死循环的问题
  • 17.分页 - 分析jump回调函数发生死循环的原因
  • 18.分页 - 解决jump回调函数发生死循环的问题
  • 19.分页 - 自定义分页的功能项
  • 20.分页 - 实现切换每页展示多少条数据的功能
9-10 删除文章
  • 21.删除文章 - 实现删除文章的功能
  • 22.删除文章 - 分析删除文章时存在的问题
  • 23.删除文章 - 判断页面中是否还有剩余数据
  • 24.删除文章 - 实现页码值-1的操作
9-11 发布文章
  • 25.发布文章 - 创建文章发布页面的基本结构
  • 26.发布文章 - 新建基本的表单结构
  • 27.发布文章 - 渲染文章类别对应的下拉选择框结构
  • 28.发布文章 - 渲染富文本编辑器
  • 29.发布文章 - 渲染封面裁剪区域
  • 30.发布文章 - 渲染提交按钮区域
  • 31.发布文章 - 点击选择封面按钮打开文件选择框
  • 32.发布文章 - 将选择的图片设置到裁剪区域中
  • 33.发布文章 - 分析发布文章的实现步骤
  • 34.发布文章 - 基于Form表单创建FormData对象
  • 35.发布文章 - 将裁剪后的封面追加到FormData对象中
  • 36.发布文章 - 发起Ajax请求实现发布文章的功能
  • 37.将开发完成的项目代码推送到GitHub

阶段五 Vue.js项目实战开发

展开
第一章 webpack+vue基础
1-1 vue前置知识-ES6模块化
  • 00.学习目标
  • 01.ES6模块化 - 什么是ES6模块化
  • 02.ES6模块化 - 在node.js中体验ES6模块化
  • 03.ES6模块化 - 默认导出与默认导入
  • 04.ES6模块化 - 默认导出与默认导入的注意事项
  • 05.ES6模块化 - 按需导出与按需导入
  • 06.ES6模块化 - 按需导出与按需导入的注意事项
  • 07.ES6模块化 - 直接导入并执行模块中的代码
1-2 vue前置知识-Promise
  • 08.Promise - 回调地狱以及Promise的作用
  • 09.Promise - Promise的基本概念
  • 10.Promise - 基于then-fs异步的读取文件内容
  • 11.Promise - 基于Promise按顺序读取文件的内容
  • 12.Promise - 通过.catch方法捕获错误
  • 13.Promise - Promise.all和Promise.race方法的使用
  • 14.Promise - 基于Promise封装异步读文件的方法 - 上
  • 15.Promise - 基于Promise封装异步读文件的方法 - 下
1-3 vue前置知识-async和await
  • 16.async和await - 了解async和await的基本使用
  • 17.async和await - async和await的使用注意事项
1-4 vue前置知识-EventLoop
  • 18.EventLoop - 同步任务和异步任务
  • 19.EventLoop - 同步任务和异步任务的执行过程
  • 20.EventLoop - EventLoop的概念及经典面试题
1-5 vue前置知识-宏任务和微任务
  • 21.宏任务和微任务 - 宏任务与微任务的概念
  • 22.宏任务和微任务 - 举例分析宏任务和微任务的执行过程
  • 23.宏任务和微任务 - 经典面试题 - 1
  • 24.宏任务和微任务 - 经典面试题 - 2
1-6 vue前置知识案例-API接口案例
  • 25.API接口案例 - 初始化项目
  • 26.API接口案例 - 创建db数据库操作模块
  • 27.API接口案例 - 创建user_ctrl模块
  • 28.API接口案例 - 创建并使用user_router路由模块
  • 29.API接口案例 - 使用try...catch捕获异常错误
  • 30.总结
1-7 webpack基本使用
  • 01_webpack_为何学
  • 02_webpack_基本概述
  • 03_webpack_使用前_准备工作
  • 04_webpack_基本使用_打包2个js文件
1-8 webpack打包
  • 05_webpack_更新打包_重新打包
  • 06_webpack_修改默认入口和出口
  • 07_webpack_打包流程
  • 08_webpack案例_隔行变色
  • 09_webpack插件_自动生成html文件
  • 10_webpack_打包css文件问题
1-9 webpack加载器
  • 11_webpack加载器_打包css文件
  • 12_webpack加载器_打包less文件
1-10 webpack处理图片和字体图标文件
  • 13_webpack处理图片_配置asset
  • 14_webpack处理图片_优点和缺点
  • 15_webpack处理字体图标文件
  • 16_webpack加载器_babel降级js语法
1-11 webpack开发服务器
  • 17_webpack_开发服务器概述
  • 18_webpack_开发服务器_基础使用
  • 19_webpack_开发服务器_相关配置
  • 20_今日总结_作业布置
  • 复习_git克隆分支
  • 上午总结
1-12 Vue介绍
  • 01_vue_为什么学
  • 02_vue_是什么
  • 03_vue_开发方式_学习方法
1-13 Vue脚手架介绍
  • 04_vue_脚手架环境介绍
  • 05_vue_安装全局包
  • 06_vue_创建脚手架项目_启动
  • 07_vue_脚手架文件说明
1-14 Vue配置
  • 08_vue_主要的3个文件和关系
  • 09_vue_开发服务器_自定义配置
  • 10_vue_eslint简介_暂时关闭设置
1-15 Vue单文件开发
  • 11_vue_单vue文件开发方式介绍
  • 12_vue_清空脚手架欢迎界面
  • 13_阶段小结_总结脚手架项目环境
1-16 Vue指令(一)
  • 14_vue基础语法_插值表达式
  • 15_vue基础语法_MVVM设计模式
  • 16_vue指令_v-bind
  • 17_vue指令_v-on绑定事件
  • 18_vue事件_接收事件对象
  • 19_vue事件_修饰符
  • 20_vue按键_修饰符
  • 21_课上练习_翻转世界
1-17 Vue指令(二)
  • 22_vue指令_v-model基础使用
  • 23_vue指令_v-model绑定不同表单标签
  • 24_vue指令_v-model修饰符
  • 25_vue指令_v-text和v-html
  • 26_vue指令_v-show和v-if的使用
  • 27_案例_折叠面板
  • 28_v-for的使用
  • 29_今日总结_作业布置
1-18 补充和总结
  • 补充_js里引入图片
  • 补充_笔记分享
  • 今日_上午总结
1-19 v-for更新监测
  • 昨日反馈_new补充讲解
  • 昨日复习
  • 01_v-for_更新监测
  • 02_v-for_更新性能_为何高
1-20 虚拟DOM+Diff算法
  • 03_虚拟DOM
  • 04_diff算法
  • 05_key作用
  • 06_阶段小结
1-21 动态样式绑定和案例
  • 07_动态class
  • 08_动态style
  • 09_案例_品牌管理_铺设
  • 10_案例_品牌管理_新增
  • 11_案例_品牌管理_删除
1-22 过滤器+案例
  • 12_过滤器_基础
  • 13_过滤器_更多用法
  • 14_案例_品牌管理_时间过滤器
1-23 计算属性+案例
  • 15_计算属性_基础
  • 16_计算属性_缓存特性
  • 17_案例_品牌管理_总价和均价
  • 18_计算属性_完整写法
1-24 全选和反选案例
  • 19_案例_小选框影响全选
  • 20_案例_全选框影响小选
  • 21_案例_反选
1-25 侦听器+案例
  • 22_侦听器_基础
  • 23_侦听器_深度侦听
  • 24_案例_品牌管理_数据缓存
  • 25_今日总结_作业布置
  • 上午总结
1-26 Vue组件
  • 昨日反馈
  • 昨日复习
  • 01_为什么要使用组件
  • 02_组件基本概念
  • 03_组件_基本使用4步
  • 04_scoped作用过程
1-27 组件通信
  • 05_组件通信_父向子
  • 06_组件通信_父向子_配合循环
  • 07_组件通信_单向数据流
  • 08_组件通信_子向父
  • 09_阶段小结
  • 上午总结
  • 09_组件通信_跨组件传值
1-28 todo案例
  • 10_todo案例_项目创建_静态页面准备
  • 11_todo案例_铺设待办任务
  • 12_todo案例_添加任务
  • 13_todo案例_删除任务
  • 14_todo案例_统计任务数量
  • 15_todo案例_筛选显示任务
  • 16_todo案例_清除已完成
  • 17_todo案例_数据缓存
  • 18_todo案例_全选
  • 19_今日总结_作业布置
1-29 Vue生命周期
  • 昨日反馈
  • 昨日复习
  • 01_vue的生命周期
  • 02_vue的钩子函数
  • 03_钩子函数_初始化阶段
  • 04_钩子函数_挂载阶段
  • 05_钩子函数_更新阶段
  • 06_钩子函数_销毁阶段
1-30 axios
  • 07_axios的介绍
  • 08_axios_获取所有图书_get请求
  • 09_axios_获取某本图书_get传参
  • 10_axios_添加书籍_post传参
  • 11_axios_全局默认配置基地址
  • 上午总结
1-31 ref属性
  • 12_ref获取原生DOM元素
  • 13_ref属性_组件对象
1-32 nextTick+name属性
  • 14_nextTick基础使用
  • 15_nextTick使用场景
  • 16_组件里name属性作用
1-33 购物车案例
  • 17_购物车案例_项目初始化
  • 18_购物车案例_头部自定义
  • 19_购物车案例_请求数据
  • 20_购物车案例_数据铺设
  • 21_购物车案例_商品选中效果
  • 22_购物车案例_商品数量控制
  • 23_购物车案例_全选
  • 24_购物车案例_总数量
  • 25_购物车案例_总价
  • 26_今日总结_作业布置
  • 昨日复习_昨日反馈
1-34 组件缓存
  • 01_动态组件
  • 02_组件缓存
  • 03_组件缓存_激活的钩子函数
1-35 插槽
  • 04_组件插槽
  • 05_组件插槽_默认内容
  • 06_具名插槽
  • 07_作用域插槽
  • 08_作用域插槽_使用场景
  • 上午总结
1-36 自定义指令
  • 09_自定义指令
  • 10_自定义指令传值
1-37 tabar案例
  • 11_tabbar案例_项目初始化_组件复用
  • 12_tabbar案例_底部封装
  • 13_tabbar案例_点谁谁亮
  • 14_tabbar案例_组件切换
  • 15_tabbar案例_请求数据_铺设表格
  • 16_tabbar案例_插槽使用
  • 17_tabbar案例_tags铺设
  • 18_tabbar案例_删除数据
  • 19_tabbar案例_创建tags
  • 20_今日总结
1-38 Vue路由(一)
  • 昨日反馈
  • 昨日复习
  • 01_什么是路由
  • 02_为什么要学路由
  • 03_如何使用路由
  • 04_组件分类
  • 05_vue-router基础使用
  • 06_声明式导航_基础使用
  • 07_声明式导航_跳转传值
1-39 Vue路由(二)
  • 08_路由重定向
  • 09_路由404设置
  • 10_路由模式修改
  • 11_编程式导航
  • 12_编程式导航_传参
  • 13_路由嵌套
  • 14_激活类名的区别
  • 15_路由守卫
1-40 Vant组件库
  • 16_vant组件库_介绍
  • 17_vant组件库_全部引入
  • 18_vant组件库_手动按需引入
  • 19_vant组件库_自动按需引入
  • 20_vant组件库_弹出框
  • 21_vant组件库_登陆表单
  • 22_今日总结
1-41 网易云音乐项目初始化
  • 1.0_网易云音乐_本地接口
  • 1.1_网易云音乐_本地接口启动
  • 1.2_网易云音乐_前端项目初始化
  • 1.3_网易云音乐_需求分析
  • 1.4_网易云音乐_路由准备
1-42 TabBar+NavBar+网络请求封装
  • 1.5_网易云音乐_TabBar组件
  • 1.6_网易云音乐_NavBar导航组件
  • 1.7_网易云音乐_NavBar标题切换
  • 1.8_网易云音乐_网络请求封装
1-43 推荐歌单+搜索关键字
  • 1.9_网易云音乐_首页_推荐歌单
  • 1.10_网易云音乐_首页_最新音乐
  • 1.11_网易云音乐_搜索_热搜关键字
  • 1.12_网易云音乐_搜索_点击热搜_搜索结果
1-44 搜索加载更多
  • 1.13_网易云音乐_输入框_搜索结果
  • 1.14_网易云音乐_搜索结果_加载更多
  • 1.15_网易云音乐_加载更多_bug修复
1-45 播放音乐
  • 1.16_网易云音乐_输入框_防抖
  • 1.17_网易云音乐_页码bug修复
  • 1.18_网易云音乐_Layout边距修复
  • 1.19_网易云音乐_SongItem封装
  • 1.20_网易云音乐_播放音乐
  • 1.21_网易云音乐_vant适配
第二章 社交媒体-黑马头条项目
2-1 Vuex
  • 1.Vuex基础-介绍
  • 2.vuex基础-初始化功能
  • 3.vuex基础-state
  • 4.vuex基础-mutations
  • 5.vuex基础-actions
  • 6.vuex基础-getters
  • 7.1为什么会有模块化
  • 7.2模块化的简单应用
  • 7.3模块化中的命名空间
  • 8.vuex案例-搭建黑马头条项目
  • 9.vuex案例-封装分类组件和频道组件
  • 10.1设计categtory和newlist的vuex模块
  • 10.2分类模块下设置分类数组和当前激活分类
  • 10.3遍历分类数据并判断激活class
  • 10.4封装调用获取分类action,激活第一个分类
  • 10.5定义新闻数据,并封装获取新闻的Action
  • 10.6监听激活分类,触发获取新闻Action
  • 10.7处理显示新闻内容的数据
2-2 项目初始化
  • 00-项目演示
  • 01 项目初始化-模块介绍
  • 02 项目初始化-使用VueCLI创建项目
  • 03 项目初始化-加入Git版本管理
  • 04 项目初始化-调整初始目录结构
  • 05 项目初始化-导入图标素材
  • 06 项目初始化-引入Vant组件库
  • 07 项目初始化-移动端REM适配
  • 08 项目初始化-移动端REM适配(关于PostCSS配置文件)
  • 09 项目初始化-封装请求模块
  • 黑马头条接口问题说明【重要,后续接口有问题,可以使用备用接口】
  • 10 项目初始化-模块总结
2-3 登录注册
  • 11 登录注册-模块介绍
  • 12 登录注册-准备-创建组件并配置路由
  • 13 登录注册-准备-布局结构
  • 14 登录注册-准备-布局样式
  • 15 登录注册-实现基本登录功能
  • 01 登录注册-登录状态提示
  • 02 登录注册-表单验证
  • 03 登录注册-发送验证码-验证手机号
  • 04 登录注册-发送验证码-使用倒计时组件
  • 05 登录注册-验证码处理-发送验证码
  • 06 登录注册-处理用户Token
  • 07 登录注册-封装本地存储操作模块
  • 08 登录注册-关于Token过期问题
2-4 个人中心
  • 09 个人中心-模块介绍
  • 10 个人中心-TabBar处理
  • 11 个人中心-页面布局-顶部未登录
  • 12 个人中心-页面布局-顶部已登录状态
  • 13 个人中心-页面布局-宫格导航
  • 【补充】个人中心-页面布局-消息通知和小智同学
  • 14 个人中心-处理页面显示状态
  • 15 个人中心-用户退出
  • 16 个人中心-展示当前登录用户信息
  • 17 个人中心-优化设置Token
2-5 首页-展示文章列表
  • 01 首页-页面布局-头部导航栏
  • 02 首页-处理文章频道列表-使用Tab标签页组件
  • 03 首页-处理文章频道列表-样式调整(基础样式)
  • 04-首页-处理文章频道列表-样式调整(处理汉堡按钮)
  • 05 首页-处理文章频道列表-获取展示数据
  • 06 首页-文章列表-创建列表组件
  • 07 首页 展示文章列表-使用List列表组件
  • 08 首页-展示文章列表-请求获取数据
  • 09 首页-展示文章列表-处理响应结果
  • 10 首页-展示文章列表-请求失败的处理
  • 11 首页-展示文章列表-下拉刷新
  • 12 首页-展示文章列表-头部固定定位
  • 13 首页-展示文章列表-记住列表的滚动位置
  • 14 首页-文章列表项-准备组件
  • 15 首页-文章列表项-展示列表项内容
  • 01 首页-文章列表项-样式调整
  • 02 首页-文章列表项-关于第三方图片资源403问题
  • 03 首页-文章列表项-处理相对时间(初始化DayJS配置)
  • 04 首页-文章列表项-处理相对时间(处理完成)
2-6 频道编辑
  • 05 频道编辑-模块介绍
  • 06 频道编辑-使用弹出层组件
  • 07 频道编辑-创建频道编辑组件
  • 08 频道编辑-页面布局
  • 09 频道编辑-样式调整
  • 10 频道编辑-展示我的频道
  • 11 频道编辑-处理激活频道高亮
  • 12 频道编辑-展示推荐频道-获取所有频道
  • 13 频道编辑-展示推荐频道-处理完成
  • 14 频道编辑-添加频道
  • 15 频道编辑-处理编辑状态
  • 16 频道编辑-切换频道
  • 17 频道编辑-删除频道
  • 01 频道编辑-数据持久化-业务分析
  • 02 频道编辑-数据持久化-添加频道
  • 03 频道编辑-数据持久化-删除频道
  • 04 频道编辑-正确的获取展示首页频道列表
2-7 文章搜索
  • 05 文章搜索-模块介绍
  • 06 文章搜索-创建组件并配置路由
  • 07 文章搜索-页面布局-搜索栏
  • 08 文章搜索-页面布局-完成
  • 09 文章搜索-处理页面展示逻辑
  • 10 文章搜索-联想建议-获取并监视输入框内容的变化
  • 11 文章搜索-联想建议-请求获取展示数据
  • 12 文章搜索-联想建议-优化防抖
  • 13 文章搜索-联想建议-搜索关键字高亮-思路分析
  • 14 文章搜索-联想建议-搜索关键字高亮
  • 15 文章搜索-搜索结果-传递搜索内容
  • 16 文章搜索-搜索结果-处理完成
  • 01 文章搜索-历史记录-添加历史记录
  • 02 文章搜索-历史记录-展示历史记录
  • 03 文章搜索-历史记录-处理删除显示状态
  • 04 文章搜索-历史记录-处理删除操作
  • 05 文章搜索-历史记录-数据持久化
2-8 文章详情
  • 06 文章详情-模块介绍
  • 07 文章详情-创建组件并配置路由
  • 08 文章详情-使用组件Props解耦路由参数
  • 09 文章详情-页面布局
  • 10 文章详情-请求获取文章数据(404)
  • 11 文章详情-关于后端返回数据中的大数字问题(为什么404)
  • 12 文章详情-关于后端返回数据中的大数字问题(json-bigint的使用)
  • 13 文章详情-关于后端返回数据中的大数字问题(处理完成)
  • 14 文章详情-展示文章详情
  • 15 文章详情-处理内容加载状态
  • 16 文章详情-关于文章正文的样式
  • 17 文章详情-图片点击预览(使用ImagePreview 组件)
  • 18 文章详情-图片点击预览(处理完成)
  • 01 文章详情-关注用户(视图处理)
  • 02 文章详情-关注用户(实现基本功能)
  • 03 文章详情-关注用户(loading处理)
  • 04 文章详情-关注用户(组件封装)
  • 05 文章详情-关注用户(在组件上使用v-model)
  • 06 文章详情-文章收藏(准备组件)
  • 07 文章详情-文章收藏(视图处理)
  • 08 文章详情-文章收藏(处理完成)
  • 09 文章详情-文章点赞(准备组件)
  • 10 文章详情-文章点赞(处理完成)
2-9 文章评论
  • 11 文章评论-模块介绍
  • 12 文章评论-展示文章评论列表-准备组件
  • 13 文章评论-展示文章评论列表-获取数据并展示
  • 14 文章评论-展示文章评论总数量
  • 15 文章评论-评论列表项组件
  • 16 文章评论-评论点赞-视图处理
  • 17 文章评论-评论点赞-处理完成
  • 18 文章评论-发布文章评论-准备弹出层
  • 19 文章评论-发布文章评论-准备组件
  • 20 文章评论-发布文章评论-请求发布
  • 21 文章评论-发布文章评论-发布成功处理
  • 22 文章评论-发布文章评论-空内容处理
  • 01 文章评论-评论回复-功能介绍
  • 02 文章评论-评论回复-准备弹出层
  • 03 文章评论-评论回复-点击回复展示弹出层
  • 04 文章评论-评论回复-封装组件
  • 05 文章评论-评论回复-将点击回复的评论项传递给评论回复组件
  • 06 文章评论-评论回复-处理头部及当前评论项
  • 07 文章评论-评论回复-展示回复列表(基本处理)
  • 08 文章评论-评论回复-展示回复列表(解决重复数据问题)
  • 09 文章评论-评论回复-展示回复列表(解决内容不重新获取问题)
  • 10 文章评论-评论回复-发布回复(处理底部视图布局)
  • 11 文章评论-评论回复-发布回复(参数处理)
  • 12 文章评论-评论回复-发布回复(处理完成)
2-10 编辑用户资料
  • 13 编辑用户资料-模块介绍
  • 14 编辑用户资料-创建页面组件并配置路由
  • 15 编辑用户资料-页面布局
  • 16 编辑用户资料-展示用户信息
  • 17 编辑用户资料-修改昵称-处理弹出层
  • 18 编辑用户资料-修改昵称-内容组件
  • 19 编辑用户资料-修改昵称-内容布局
  • 20 编辑用户资料-修改昵称-数据处理
  • 21 编辑用户资料-修改昵称-处理完成
  • 22 编辑用户资料-修改性别
  • 23 编辑用户资料-修改生日-准备
  • 24 编辑用户资料-修改生日-处理完成
  • 01 编辑用户资料-修改头像-功能介绍
  • 02 编辑用户资料-修改头像-图片上传预览(处理file-input)
  • 03 编辑用户资料-修改头像-图片上传预览(功能处理)
  • 04 编辑用户资料-修改头像-图片上传预览(样式处理)
  • 05 编辑用户资料-修改头像-图片裁切(初始化)
  • 06 编辑用户资料-修改头像-图片裁切(配置说明)
  • 07 编辑用户资料-修改头像-图片裁切(获取结果的两种方式)
  • 08 编辑用户资料-修改头像-图片裁切(处理完成)
第三章 HR-saas中台管理项目
3-1 项目前置知识
  • 1.1实现表单基本结构
  • 1.2表单校验的先决条件
  • 1.3表单校验规则
  • 1.4自定义校验规则
  • 1.5手动校验的实现
  • 2.1关于Promise你必须知道几件事
  • 2.异步编程的终极方案
3-2 项目基础环境搭建
  • 1.vue-element-admin的了解和介绍
  • 2.搭建项目前的一些基本准备
  • 3.项目模板启动和目录介绍
  • 4.1项目运行机制和代码注释-main.js
  • 4.2项目运行机制和代码注释-App.vue
  • 4.3项目运行机制和代码注释-permission.js
  • 4.4项目运行机制和代码注释
  • 4.5.6项目运行机制和代码注释-scss-icons
  • 5.1SCSS处理的了解和使用-搭建小型的测试环境
  • 5.2SCSS处理的了解和使用-基本语法
  • 6.建立远程Git仓库并完成初始提交
  • 7.1Axios的拦截器介绍
  • 7.2api模块的单独封装
  • 8.公共资源图片和统一样式
3-3 登录模块
  • 1.设置固定的本地访问端口和网站名称
  • 2.登录页面的基础布局
  • 3.1表单校验的先决条件
  • 3.2手机号和密码的校验
  • 3.3关于修饰符
  • 4.1为什么会出现跨域
  • 4.2开发环境解决跨越代理
  • 5.封装单独的登录接口
  • 6.1在Vuex中对token进行管理
  • 6.2封装登录的Action
  • 7.1区分axios在不同环境中的请求基础地址
  • 7.2处理axios的响应拦截器
  • 8.登录页面调用登录action,处理异常
  • 【补充说明】人资项目接口说明
3-4 主页模块(一)
  • 1.1权限拦截的流程图
  • 1.2流程图转化代码
  • 2.主页的左侧导航样式
  • 3.设置头部内容的布局和样式
  • 4. 获取用户资料接口和token注入
  • 5.封装获取用户资料的action并共享用户状态
  • 6.1权限拦截器调用action
  • 6.2获取头像接口合并数据
  • 7.1自定义指令
  • 7.2在main.js完成自定义指令全局注册
3-5 主页模块(二)
  • 8.实现登出功能
  • 9.1主动介入token处理的业务逻辑
  • 9.2流程图转化代码
  • 10.Token失效的被动处理
3-6 路由和页面
  • 1.路由页面整理
  • 2.1新建模块的页面和路由文件
  • 2.2设置每个模块的路由规则
  • 3.静态路由和动态路由临时合并,形成左侧菜单
  • 4.左侧菜单的显示逻辑,设置菜单图标
3-7 组织架构上
  • 1.1认识组织架构
  • 1.2实现组织架构的头部内容
  • 1.3树形组件认识
  • 1.4实现树形的静态组织结构
  • 2.1封装单独的树操作栏组件
  • 2.2在组织架构中应用操作栏组件
  • 3.1封装API接口,获取组织架构数据
  • 3.2将数组数据转化成树形结构
3-8 组织架构中
  • 4.1封装删除接口,注册下拉菜单事件
  • 4.2调用删除接口,通知父组件更新数据
  • 5.1封装新增接口,新建组件中的弹层结构
  • 5.2点击新增子部门显示弹层组件
  • 6.1完成新增表单的基本校验条件
  • 6.2配置新增表单的基本校验规则
  • 6.3部门名称和部门编码的自定义校验
  • 6.4处理首部内容的pid数据
3-9 组织架构下
  • 7.新增部门功能-部门负责人数据
  • 8.1校验通过,调用新增接口
  • 8.2利用sync修饰符关闭新增弹层
  • 8.3取消时重置数据和校验
  • 9.1点击编辑弹出层,记录当前节点
  • 9.2父组件调用子组件的获取详情方法
  • 9.3根据计算属性显示控制标题
  • 10.1封装编辑接口,保存区分场景
  • 10.2校验规则支持编辑场景下的校验
3-10 公司角色和角色管理
  • 1.建立公司角色页面的基本结构
  • 2.1读取角色列表数据
  • 2.2读取公司信息数据
  • 3.删除角色功能
  • 4.1封装编辑接口,新建编辑弹层
  • 4.2实现编辑功能,为新增功能留口
  • 5.新增角色功能
3-11 员工管理(一)
  • 1.1通用工具栏的组件结构
  • 1.2组件统一注册
  • 2.员工列表页面的基本布局和结构
  • 3.员工列表数据请求和分页加载
  • 4.1利用列格式化属性处理聘用形式
  • 4.2过滤器解决时间格式的处理
  • 5.删除员工功能
  • 6.1新建员工弹层组件
  • 6.2引用弹出层,点击弹出
  • 6.3新增员工的表单校验
  • 6.4加载部门数据转化树形
3-12 员工管理(二)
  • 6.5点击部门赋值表单数据
  • 7.新增员工功能-确定-取消
  • 8.员工导入组件封装
  • 9.1建立公共导入的页面路由
  • 9.2分析excel导入代码,封装接口
  • 9.3实现excel导入
  • 9.4excel导入的时间问题
  • 10.1安装excel所需依赖和按需加载
  • 10.2excel导出参数的介绍
  • 10.3excel导出基本的结构
3-13 员工管理(三)
  • 10.4导出时间格式的处理
  • 10.5复杂表头的导出
  • 11.1详情页的基本布局和路由
  • 11.2读取和保存用户信息的接口
  • 11.3实现用户名和密码的修改
  • 12.1封装个人详情组件
  • 12.2封装岗位组件
  • 13.1读取个人保存个人信息
  • 13.2读取保存岗位信息
  • 14.配置腾讯云Cos
3-14 图片上传、预览及打印(一)
  • 15.封装上传图片组件-上传组件需求分析
  • 16.1新建文件上传组件
  • 16.2点击图片进行预览
  • 16.3根据上传数量控制上传按钮
  • 16.4删除图片和添加图片
  • 16.5上传之前检查
  • 16.6上传动作调用上传腾讯云
3-15 图片上传、预览及打印(二)
  • 16.7上传成功之后处理返回数据
  • 16.8上传的进度条显示
  • 17.1将员工的头像和证件照赋值给上传组件
  • 17.2保存时处理头像和证件照的保存
  • 18.员工列表显示图片
  • 19.图片地址生成二维码
  • 20.1新建打印页面及路由
  • 20.2利用vue-print-nb进行打印
3-16 权限设计和管理(一)
  • 1.权限设计-RBAC的权限设计思想
  • 2.1新建分配角色窗体
  • 2.2获取角色列表和当前用户角色
  • 2.3给员工分配角色
  • 3.1新建权限点管理页面
  • 3.2获取权限数据并转化树形
  • 3.3新增编辑权限的弹层
  • 3.4新增,编辑,删除权限点
  • 4.1新建分配权限弹出层1
  • 4.1新建分配权限弹出层2
3-17 权限设计和管理(二)
  • 4.2给角色分配权限
  • 5.1权限受控的主体思路
  • 5.2新建Vuex中管理权限的模块
  • 5.3Vuex筛选权限路由
  • 5.4权限拦截出调用筛选权限Action
  • 5.5静态路由动态路由解除合并
  • 6. 登出时,重置路由权限和 404问题
  • 7.1功能权限的受控思路
  • 7.2使用Mixin技术将检查方法注入
3-18 首页
  • 1.全模块集成
  • 1.首页的页面结构
  • 2.首页用户资料显示
  • 3.1新建工作日历组件结构
  • 3.2实现工作日历逻辑
  • 4.1了解雷达图
  • 4.2封装雷达图插件
  • 5.审批流程业务的基本介绍
  • 6.提交一个离职审批-弹层
  • 6.提交一个离职审批-调用接口
3-19 多语言tab页
  • 1.全屏插件的引用
  • 2.动态主题的设置
  • 3.1初始化多语言包
  • 3.1初始化多语言包-2
  • 3.2引入自定义语言包
  • 3.3在左侧菜单中应用多语言包
  • 3.4封装多语言插件
  • 4.tab页的视图引入
3-20 项目打包上线
  • 1.打包之前的路由模式
  • 2.1性能分析
  • 2.2webpack排除打包
  • 2.3CDN文件配置
  • 2.4注入CDN文件到模板
  • 3.1使用koa框架部署项目
  • 3.2解决history页面访问问题
  • 3.3解决生产环境跨域问题
第四章 Vue3.0小兔鲜儿电商项目
4-1 Vue3.0组合式API(01)
  • 01-为什么学vue3
  • 02-vite基本使用
  • 03-创建vue应用
  • 04-选项API和组合API
  • 05-组合API-setup函数
  • 06-组合API-生命周期
4-2 Vue3.0组合式API(02)
  • 07-组合API-reactive函数
  • 08-组合API-toRef函数
  • 09-组合API-toRefs函数
  • 10-组合API-ref函数
  • 11-知识运用案例
4-3 Vue3.0组合式API(03)
  • 12-组合API-computed函数-01基本使用
  • 12-组合API-computed函数-02高级使用
  • 13-组合API-watch函数
  • 13-组合API-watch函数-需要深度监听情况
  • 14-组合API-ref属性
4-4 Vue3.0组合式API(04)
  • 15-组合API-父子通讯-01父传子
  • 15-组合API-父子通讯-02子传父
  • 15-组合API-父子通讯-03-v-model新用法
  • 16-组合API-依赖注入
4-5 项目介绍
  • 01-补充-v-model语法糖
  • 02-补充-mixins语法
  • 03-项目介绍
  • 04-配套资源
  • 05-使用技术
  • 06-前情提要
4-6 项目搭建
  • 07-创建项目
  • 08-目录调整-01调整代码和目录
  • 09-目录调整-额外配置文件
  • 10-vuex-vue3.0的根模块各种用法
  • 11-vuex-vue3.0模块的用法
  • 12-准备远端仓库查看代码
4-7 Vuex持久化+axios拦截器
  • 13-vuex-持久化
  • 14-请求工具-01创建新axios实例&请求拦截器
  • 15-请求工具-响应拦截器
4-8 axios请求封装+路由设计
  • 16-请求工具-03-请求函数封装
  • 17-请求工具-04-测试请求工具函数
  • 18-路由设计
  • 19-首页-路由与组件
  • 20-首页-less的自动化导入-01准备变量文件和混入文件
  • 21-首页-less的自动化导入-02自动导入
4-9 首页布局分析+布局
  • 01-昨日回顾&今日介绍
  • 02-首页-样式重置与公用
  • 03-首页-顶部通栏布局
  • 04-首页-顶部通栏布局-setup使用vuex数据需要计算属性
  • 05-首页-头部布局
  • 06-首页-底部布局
4-10 首页头部导航组件和交互
  • 07-首页-头部分类导航组件
  • 08-首页-头部分类导航渲染
  • 09-首页-头部分类导航交互
  • 10-首页-吸顶头部组件-传统实现
  • 11-首页-吸顶头部组件-组合API
4-11 首页主体区域布局和功能实现
  • 12-首页主体-左侧分类-结构渲染
  • 13-首页主体-左侧分类-弹层展示
  • 14-首页主体-左侧分类-处理品牌
  • 15-首页主体-左侧分类-骨架效果
4-12 轮播图布局+逻辑封装
  • 01-昨日回顾&今日介绍
  • 02-首页主体-轮播图-基础布局
  • 03-首页主体-轮播图-渲染结构
  • 04-首页主体-轮播图-逻辑封装
4-13 首页主体-面板封装
  • 05-首页主体-面板封装
  • 06-首页主体-新鲜好物
  • 07-首页主体-人气推荐
  • 08-首页主体-补充-vue动画
  • 09-首页主体-面板骨架效果
4-14 组件数据懒加载
  • 10-首页主体-组件数据懒加载
  • 11-首页主体-组件数据懒加载-补充
  • 12-首页主体-热门品牌-01基础功能
  • 13-首页主体-热门品牌-02骨架和数据懒加载
4-15 图片懒加载
  • 14-首页主体-商品区块
  • 15-首页主体-最新专题
  • 16-首页主体-图片懒加载-01-IntersectionObserver了解
  • 17-首页主体-图片懒加载-02-懒加载指令
4-16 面包屑组件
  • 00-昨日回顾&今日介绍
  • 01-顶级类目-面包屑组件-初级
  • 02-顶级类目-面包屑组件-高级-01过渡mp4
  • 02-顶级类目-面包屑组件-高级-02终极
4-17 批量注册组件+分类商品
  • 03-顶级类目-批量注册组件
  • 04-顶级类目-基础布局搭建
  • 04-顶级类目-基础布局搭建-改造
  • 05-顶级类目-分类商品-布局
  • 06-顶级类目-分类商品-展示
  • 07-顶级类目-面包屑切换动画
4-18 筛选区展示
  • 08-二级类目-处理跳转细节
  • 09-二级类目-展示面包屑
  • 10-二级类目-筛选区展示
4-19 复选框组件封装+排序组件
  • 00-昨日回顾&今日介绍
  • 01-二级类目-复选框组件封装
  • 02-二级类目-结果区-排序组件
4-20 无限加载组件+排序和筛选
  • 03-二级类目-结果区-数据加载-01-无限加载组件
  • 04-二级类目-结果区-数据加载-02-使用无限加载数据加载商品数据
  • 05-二级类目-结果区-进行筛选-01-排序
  • 06-二级类目-结果区-进行筛选-02-筛选
4-21 图片预览组件+图片放大镜
  • 07-商品详情-基础布局
  • 08-商品详情-渲染面包屑
  • 09-商品详情-图片预览组件
  • 10-商品详情-图片放大镜
  • 11-商品详情-基本信息展示
4-22 城市组件
  • 00-昨日回顾&今日介绍
  • 01-商品详情-城市组件-基础布局
  • 02-商品详情-城市组件-获取数据
  • 03-商品详情-城市组件-交互逻辑
4-23 SKU&SPU概念
  • 04-★规格组件-SKU&SPU概念
  • 05-★规格组件-基础结构和样式
  • 06-★规格组件-渲染与选中效果
4-24 规格组件禁用效果
  • 07-★规格组件-禁用效果-思路分析
  • 08-★规格组件-禁用效果-路径字典
  • 09-★规格组件-禁用效果-设置状态
4-25 规格组件数据通讯
  • 00-昨日反馈&今日介绍
  • 01-梳理下SKU组件选中和禁用功能
  • 02-★规格组件-数据通讯-01根据skuId默认选中按钮
  • 03-★规格组件-数据通讯-02选择sku后通知父组件sku信息
4-26 商品详情中的相关组件(一)
  • 04-商品详情-数量选择组件
  • 05-商品详情-按钮组件
  • 06-商品详情-同类推荐组件
4-27 商品详情中的相关组件(二)
  • 07-商品详情-标签页组件
  • 08-商品详情-热榜组件
  • 09-商品详情-详情组件
  • 10-商品详情-注意事项组件
4-28 评价组件
  • 11-商品详情-评价组件-头部渲染
  • 12-商品详情-评价组件-实现列表-01需求确认&基本布局
  • 12-商品详情-评价组件-实现列表-02-筛选参数准备&获取数据
  • 12-商品详情-评价组件-实现列表-03-完成渲染&格式化函数
4-29 图片预览+分页组件
  • 00-昨日反馈&今日介绍
  • 02-商品详情-评价组件-图片预览
  • 03-商品详情-评价组件-★分页组件-01依赖数据分析
  • 04-商品详情-评价组件-★分页组件-02得到需要的数据
  • 04-商品详情-评价组件-★分页组件-03渲染组件和切换分页
  • 04-商品详情-评价组件-★分页组件-04数据通讯和使用
4-30 登录表单校验
  • 05-登录-路由与组件
  • 06-登录-基础布局
  • 07-登录-切换效果
  • 08-登录-表单组件
  • 09-登录-表单校验-01-大致步骤
  • 09-登录-表单校验-02-基本使用
  • 09-登录-表单校验-03-完成所有校验
4-31 消息提示组件封装
  • 10-登录-消息提示组件封装-01基本功能和动画
  • 10-登录-消息提示组件封装-02函数式调用
4-32 手机号登录
  • 00-昨日反馈&今日介绍
  • 01-登录-账户登录
  • 02-登录-手机号登录-01-思路分析&发送短信验证码
  • 03-登录-手机号登录-02完成登录
4-33 QQ登录流程分析+布局
  • 04-退出登录
  • 05-登录-QQ登录-流程分析
  • 06-登录-QQ登录-按钮处理-01-本地host
  • 07-登录-QQ登录-按钮处理-02-按钮跳转
  • 08-登录-QQ登录-回跳页面-01-基础布局
  • 09-登录-QQ登录-回跳页面-02-绑定帐号组件&完善信息组件
4-34 QQ登录表单校验
  • 10-登录-QQ登录-已注册已绑定
  • 11-登录-QQ登录-已注册未绑定-01-获取唯一标识和昵称头像
  • 12-登录-QQ登录-已注册未绑定-02-表单校验
4-35 QQ登录立即绑定+发送短信验证码
  • 13-登录-QQ登录-已注册未绑定-03-发送短信验证码
  • 14-登录-QQ登录-已注册未绑定-04-立即绑定
  • 15-登录-QQ登录-未绑定没账号
4-36 加入购物车分析+编写Vuex
  • 00-每日反馈&今日介绍
  • 01-购物车功能分析
  • 02-加入购物车-本地(约定存储字段,编写vuex的mutations和actions,在商品详情加入购物车)
4-37 头部购物车商品列表+删除操作
  • 03-头部购物车-基础布局&渲染
  • 04-头部购物车-商品列表-本地
  • 05-头部购物车-删除操作-本地
4-38 购物车页面列表展示+单选操作
  • 06-购物车页面-基础布局
  • 07-购物车页面-列表展示-本地
  • 08-购物车页面-单选操作-本地
  • 09-购物车页面-全选操作-本地
4-39 购物车页面删除操作+确认框组件
  • 10-购物车页面-删除操作-本地
  • 11-购物车页面-确认框组件
4-40 购物车批量删除+修改数量
  • 00-每日反馈&今日介绍
  • 01-昨日回顾&今日介绍
  • 02-购物车页面-批量删除-本地
  • 03-购物车页面-无效商品-本地
  • 04-购物车页面-修改数量-本地
4-41 购物车-修改规格
  • 05-购物车页面-修改规格-本地-01组件准备和切换效果
  • 05-购物车页面-修改规格-本地-02-渲染规格
  • 05-购物车页面-修改规格-本地-03-修改规格
4-42 登录合并购物车+加入购物车+修改规格
  • 06-登录后-合并购物车
  • 07-登录后-商品列表
  • 08-登录后-加入购物车
  • 09-登录后-删除操作
  • 10-登录后-批量删除
  • 11-登录后-选中状态&修改数量
  • 12-登录后-修改规格 (1)
  • 13-登录后-修改规格 (2)
4-43 下单结算页面渲染
  • 14-下单结算
  • 15-结算-页面布局
  • 16-结算-渲染页面-01-获取数据&渲染结算页面
  • 17-结算-渲染页面-收货地址默认渲染
4-44 对话框组件封装
  • 00-昨日回顾&今日内容
  • 01-结算-对话框组件封装-01基本结构
  • 02-结算-对话框组件封装-02双向绑定
4-45 收获地址切换和添加
  • 03-结算-收货地址-切换-通知结算组件一个默认地址的ID
  • 04-结算-收货地址-切换-完成切换功能
  • 05-结算-收货地址-添加-准备对话框和表单
4-46 提交订单
  • 06-结算-收货地址-添加-添加收货地址完成
  • 07-结算-收货地址-修改
  • 08-结算-提交订单
4-47 支付宝支付
  • 09-支付-支付页面-基础布局
  • 10-支付-支付页面-信息展示-01获取数据展示金额
  • 10-支付-支付页面-信息展示-02倒计时函数封装
  • 11-支付-支付流程
  • 12-支付-等待支付和跳转支付宝
  • 13-支付-结果展示
4-48 个人中心页面渲染
  • 00-昨日反馈&今日内容
  • 01-个人中心-布局容器
  • 02-个人中心-基础布局
  • 03-个人中心-渲染页面
  • 04-个人中心-mock数据
  • 05-个人中心-模拟接口
4-49 个人中心菜单激活
  • 06-个人中心-菜单激活-01-routerlink的激活类名
  • 06-个人中心-菜单激活-02-嵌套路由写法改造
4-50 订单管理tabs组件
  • 07-订单管理-tabs组件-01-体验jsx语法
  • 07-订单管理-tabs组件-02-动态渲染结构
  • 07-订单管理-tabs组件-03-实现双向绑定和点击自定义事件
  • 07-订单管理-tabs组件-04使用组件渲染订单tab
4-51 订单管理列表渲染
  • 08-订单管理-基础布局
  • 09-订单管理-列表渲染-01-抽离组件和获取数据
  • 09-订单管理-列表渲染-02渲染订单组件
4-52 订单管理(条件查询、取消、删除订单、确认收货、查看物流)
  • 00-昨日回顾&今日内容
  • 01-订单管理-条件查询
  • 02-订单管理-取消订单
  • 03-订单管理-删除订单
  • 04-订单管理-确认收货
  • 05-订单管理-查看物流
4-53 订单详情功能完善
  • 06-订单详情-头部展示
  • 07-订单详情-steps组件
  • 08-订单详情-查看物流-01-async的setup组件使用
  • 09-订单详情-物流信息-02-teleport组件使用
  • 10-订单详情-商品信息
  • 11-订单详情-取消订单
  • 12-订单详情-确认收货
4-54 项目总结和重点
  • 13-再次购买
  • 14-总结-划重点
  • 15-总结-vue3.0踩过的坑
  • 16-Vue3.0关注功能
第五章 Vue原理
5-1 Vue原理
  • 01.vue原理进阶-整体目标
  • 02.vue原理进阶-实现响应式的可选方案
  • 03.vue原理进阶-defineProperty基础使用
  • 04.vue原理进阶-set和get联动问题复现
  • 05.vue原理进阶-解决set和get联动
  • 06.vue原理进阶-更加通用的对象劫持转化
  • 07.vue原理进阶-拓展理解作用域闭包的独立性
  • 08.vue原理进阶-拓展函数调用拆解说明
  • 09.vue原理进阶-响应式总结
  • 10.vue原理进阶-数据变化映射到视图-命令式操作
  • 11.vue原理进阶-数据变化反映到视图-指令-查找指令标识渲染数据
  • 12.vue原理进阶-数据变化反映到视图-指令-重新执行视图查找编译逻辑
  • 13.vue原理进阶-视图裱花反映到数据-v-model实现
  • 14.vue原理进阶-现存问题思考无法精准更新
  • 15.vue原理进阶-优化思路分析
  • 16.vue原理进阶-浏览器的事件模型了解
  • 17.vue原理进阶-发布订阅模式理解实现
  • 18.vue原理进阶-发布订阅优化架构实现精准更新
5-2 Vue组件开发
  • 01.vue进阶知识点总结1
  • 02.vue进阶知识点总结2
  • 03.vue进阶知识点总结3
  • 04.vue组件开发依赖环境搭建
  • 05.Button组件开发-基础组件实现
  • 06.Button组件开发-实现type的配置
  • 07.Button组件开发-实现size的配置
  • 08.Button组件开发-实现参数的校验
  • 09.Button组件开发-click事件处理
  • 10.Button组件开发-整理总结回顾
  • 11.Editor组件开发-基础三方组件使用
  • 12.Editor组件开发-数据回显功能实现(数据到视图)
  • 13.Editor组件开发-编辑内容修改绑定属性(视图到数据)
  • 14.Editor组件开发-修复bug(内容变化及时再次回显)
  • 15.Editor组件开发-重点知识总结
5-3 SSR入门
  • 01.什么是服务端渲染
  • 02.什么是客户端渲染
  • 03.服务端渲染对比客户端渲染
  • 04.vue的服务端渲染
  • 05.理解同构的概念
  • 06.使用nuxt.js快速创建项目
  • 07.nuxt小项目介绍
  • 08.asyncData函数的理解与使用
  • 09.asyncData中请求真实数据并完成融合数据渲染
  • 10.ssr重点总结

阶段六 微信小程序【拓展课程】

展开
第一章 微信小程序
1-1 微信小程序快速入门
  • 00.学习目标
  • 01.小程序简介 - 小程序与普通网页开发的区别
  • 02.小程序简介 - 体验微信小程序
  • 03.第一个小程序 - 了解注册小程序开发账号的流程
  • 04.第一个小程序 - 获取小程序的AppID
  • 05.第一个小程序 - 安装微信开发者工具
  • 06.第一个小程序 - 扫码登录到微信开发者工具
  • 07.第一个小程序 - 设置外观和代理
  • 08.第一个小程序 - 演示新建小程序项目的步骤
  • 09.第一个小程序 - 查看项目运行效果的两种方式
  • 10.第一个小程序 - 了解微信开发者工具主界面的5个组成部分
  • 11.小程序代码的构成 - 了解项目的基本组成结构
  • 12.小程序代码的构成 - 小程序页面的组成部分
  • 13.小程序代码的构成 - 认识小程序中的4种配置文件
  • 14.小程序代码的构成 - app.json文件
  • 15.小程序代码的构成 - project.config.json文件
  • 16.小程序代码的构成 - sitemap.json文件
  • 17.小程序代码的构成 - 页面的.json配置文件
  • 18.小程序代码的构成 - 新建小程序页面
  • 19.小程序代码的构成 - 修改项目首页
  • 20.小程序代码的构成 - WXML的概念以及和HTML之间的区别
  • 21.小程序代码的构成 - WXSS的概念以及和CSS之间的区别
  • 22.小程序代码的构成 - 了解小程序中JS文件的三大分类
1-2 微信小程序的宿主环境
  • 23.宿主环境 - 了解宿主环境的概念
  • 24.宿主环境 - 小程序的宿主环境
  • 25.宿主环境 - 通信的主体
  • 26.宿主环境 - 小程序的通信模型
  • 27.宿主环境 - 运行机制
  • 28.宿主环境 - 组件 - 了解常用的视图容器组件
  • 29.宿主环境 - 组件 - view组件的基本使用
  • 30.宿主环境 - 组件 - scroll-view组件的基本使用
  • 31.宿主环境 - 组件 - swiper和swiper-item的基本使用
  • 32.宿主环境 - 组件 - swiper组件的常用属性
  • 33.宿主环境 - 组件 - text和rich-text组件
  • 34.宿主环境 - 组件 - button按钮组件
  • 35.宿主环境 - 组件 - image图片组件
  • 36.宿主环境 - 小程序API的3大分类
1-3 微信小程序协同工作和发布
  • 37.协同工作 - 了解权限管理需求、组织结构、开发流程
  • 38.协同工作 - 了解小程序成员管理的两个方面
  • 39.协同工作 - 开发者的权限说明
  • 40.协同工作 - 了解如何添加项目成员和体验成员
  • 41.发布 - 了解小程序的版本阶段
  • 42.发布 - 了解小程序发布上线的主要步骤
  • 43.发布 - 基于小程序码进行推广
  • 44.发布 - 查看小程序的运营数据
  • 45.总结
1-4 微信小程序基础
  • 00.学习目标
  • 01.数据绑定 - 了解数据绑定的原则
  • 02.数据绑定 - 动态绑定属性
  • 03.数据绑定 - 三元运算
  • 04.数据绑定 - 算数运算
  • 05.事件绑定 - 了解什么是事件以及小程序中常用的事件
  • 06.事件绑定 - 事件对象的属性列表
  • 07.事件绑定 - target和currentTarget的区别
  • 08.事件绑定 - bindtap的语法格式
  • 09.事件绑定 - 在事件处理函数中为data中的数据赋值
  • 10.事件绑定 - 事件传参
  • 11.事件绑定 - bindinput的语法格式
  • 12.事件绑定 - 实现文本框和data之间的数据同步
  • 13.条件渲染 - if...elif...else
  • 14.条件渲染 - 基于block标签使用if条件渲染
  • 15.条件渲染 - hidden
  • 16.条件渲染 - if和hidden的区别
  • 17.列表渲染 - for循环的基本用法
  • 18.列表渲染 - 手动指定索引和当前项的变量名
  • 19.列表渲染 - 指定key值提高渲染效率
1-5 微信小程序进阶
  • 20.wxss - 了解什么是wxss以及它和css之间的关系
  • 21.wxss - 了解什么是rpx以及它的实现原理
  • 22.wxss - rpx与px之间的单位换算
  • 23.wxss - @import样式导入
  • 24.wxss - 全局样式
  • 25.wxss - 局部样式
  • 26.全局配置 - 常用的全局配置项以及小程序窗口的组成部分
  • 27.全局配置 - window - 设置导航栏的标题
  • 28.全局配置 - window - 设置导航栏的背景色
  • 29.全局配置 - window - 设置导航栏的标题颜色
  • 30.全局配置 - window - 全局开启下拉刷新的功能
  • 31.全局配置 - window - 关于模拟器的问题说明
  • 32.全局配置 - window - 设置下拉刷新时的窗口背景色
  • 33.全局配置 - window - 设置下拉刷新时loading的样式
  • 34.全局配置 - window - 设置上拉触底的距离
  • 35.全局配置 - tabBar - 什么是tabBar
  • 36.全局配置 - tabBar - tabBar的6个组成部分
  • 37.全局配置 - tabBar - 了解tabBar中的配置项
  • 38.全局配置 - tabBar - 实现tabBar案例的效果
  • 39.页面配置 - 了解页面配置和全局配置的关系
  • 40.页面配置 - 页面配置中常用的配置项
1-6 微信小程序数据请求和案例
  • 41.数据请求 - 小程序中网络数据请求的限制
  • 42.数据请求 - 配置request合法域名
  • 43.数据请求 - 发起GET请求
  • 44.数据请求 - 发起POST请求
  • 45.数据请求 - 了解如何在页面刚加载的时候请求数据
  • 46.数据请求 - 跳过request合法域名校验
  • 47.数据请求 - 关于跨域和Ajax的说明
  • 48.案例 - 创建项目并梳理项目结构
  • 49.案例 - 配置导航栏效果
  • 50.案例 - 配置tabBar效果
  • 51.案例 - 获取轮播图的数据
  • 52.案例 - 渲染轮播图效果
  • 53.案例 - 获取九宫格的数据
  • 54.案例 - 渲染九宫格的布局效果
  • 55.案例 - 实现首页底部图片的布局效果
  • 56.总结
1-7 微信小程序页面导航
  • 00.学习目标
  • 01.页面导航 - 了解小程序中实现页面导航的两种方式
  • 02.页面导航 - 声明式导航 - 导航到tabBar页面
  • 03.页面导航 -声明式导航 - 导航到非tabBar页面
  • 04.页面导航 - 声明式导航 - 实现后退导航效果
  • 05.页面导航 - 编程式导航 - 导航到tabBar页面
  • 06.页面导航 - 编程式导航 - 导航到非tabBar页面
  • 07.页面导航 - 编程式导航 - 实现后退导航效果
  • 08.页面导航 - 导航传参 - 声明式导航传参
  • 09.页面导航 - 导航传参 - 编程式导航传参
  • 10导航传参
1-8 微信小程序页面事件和上拉触底案例
  • 11.页面事件 - 下拉刷新 - 了解什么是下拉刷新
  • 12.页面事件 - 下拉刷新 - 启用下拉刷新
  • 13.页面事件 - 下拉刷新 - 配置下拉刷新窗口的样式
  • 14.页面事件 - 下拉刷新 - 监听页面的下拉刷新事件
  • 15.页面事件 - 下拉刷新 - 停止下拉刷新的效果
  • 16.页面事件 - 上拉触底 - 了解什么是上拉触底
  • 17.页面事件 - 上拉触底 - 监听页面的上拉触底事件
  • 18.页面事件 - 上拉触底 - 配置上拉触底距离
  • 19.上拉触底案例 - 案例效果展示
  • 20.上拉触底案例 - 定义获取随机颜色的方法
  • 21.上拉触底案例 - 渲染UI结构并美化页面效果
  • 22.上拉触底案例 - 上拉触底时获取随机颜色
  • 23.上拉触底案例 - 添加loading提示效果
  • 24.上拉触底案例 - 介绍为什么需要对上拉触底进行节流处理
  • 25.上拉触底案例 - 对上拉触底进行节流处理
  • 26.扩展 - 自定义编译模式
1-9 微信小程序生命周期和wxs
  • 27.生命周期 - 什么是生命周期
  • 28.生命周期 - 小程序中生命周期的两个分类
  • 29.生命周期 - 什么是生命周期函数
  • 30.生命周期 - 小程序中生命周期函数的两个分类
  • 31.生命周期 - 应用的生命周期函数
  • 32.生命周期 - 页面的生命周期函数
  • 33.wxs - 了解什么是wxs以及应用场景
  • 34.wxs - 了解wxs和JavaScript的关系
  • 35.wxs - 内嵌wxs脚本
  • 36.wxs - 定义外联的wxs脚本
  • 37.wxs - 使用外联的wxs脚本
  • 38.wxs - 了解wxs的4个特点
1-10 本地生活综合案例
  • 39.案例 - 商铺列表页面的效果演示
  • 40.案例 - 把项目代码加载到微信开发者工具中
  • 41.案例 - 实现导航跳转并传参
  • 42.案例 - 动态设置商铺列表页面的标题内容
  • 43.案例 - 创建商铺列表页面的编译模式
  • 44.案例 - 了解API接口并定义需要的数据节点
  • 45.案例 - 定义getShopList方法获取商品列表数据
  • 46.案例 - 渲染商铺列表的UI结构并美化样式
  • 47.案例 - 展示loading提示效果
  • 48.案例 - 上拉触底时请求下一页数据
  • 49.案例 - 对上拉触底事件进行节流控制
  • 50.案例 - 演示并分析数据加载的问题
  • 51.案例 - 介绍判断是否还有下一页数据的公式
  • 52.案例 - 根据公式判断是否还有下一页的数据
  • 53.案例 - 为商铺列表页面开启下拉刷新效果
  • 54.案例 - 实现下拉刷新的功能
  • 55.案例 - 解决下拉刷新窗口效果不会自动关闭的问题
  • 56.案例 - 使用wxs处理手机号
  • 57.总结
1-11 微信小程序组件和样式
  • 00.学习目标
  • 01.准备今天要用到的项目
  • 02.自定义组件 - 组件的创建与引用 - 创建自定义组件
  • 03.自定义组件 - 组件的创建与引用 - 局部引用组件
  • 04.自定义组件 - 组件的创建与引用 - 全局引用组件
  • 05.自定义组件 - 组件的创建与引用 - 全局引用VS局部引用
  • 06.自定义组件 - 组件的创建与引用 - 组件和页面的区别
  • 07.自定义组件 - 样式 - 组件的样式隔离特性
  • 08.自定义组件 - 样式 - 组件样式隔离的注意点
  • 09.自定义组件 - 样式 - 修改组件的样式隔离选项
1-12 微信小程序数据、方法、属性和数据监听
  • 10.自定义组件 - 数据、方法、属性 - 定义data私有数据
  • 11.自定义组件 - 数据、方法、属性 - methods方法
  • 12.自定义组件 - 数据、方法、属性 - 定义properties属性
  • 13.自定义组件 - 数据、方法、属性 - 使用max属性控制自增的最大值
  • 14.自定义组件 - 数据、方法、属性 - data和properties的区别
  • 15.自定义组件 - 数据、方法、属性 - 使用setData修改properties的值
  • 16.自定义组件 - 数据监听器 - 什么是数据监听器及其语法格式
  • 17.自定义组件 - 数据监听器 - 数据监听器的基本用法
  • 18.自定义组件 - 数据监听器 - 监听对象属性的变化
1-13 微信小程序数据监听案例
  • 19.自定义组件 - 数据监听器案例 - 创建组件并定义数据
  • 20.自定义组件 - 数据监听器案例 - 渲染组件的UI结构
  • 21.自定义组件 - 数据监听器案例 - 定义button的事件处理函数
  • 22.自定义组件 - 数据监听器案例 - 监听对象中指定属性的变化
  • 23.自定义组件 - 数据监听器案例 - 监听对象中所有属性的变化
  • 24.自定义组件 - 纯数据字段 - 什么是纯数据字段
  • 25.自定义组件 - 纯数据字段 - 使用规则
  • 26.自定义组件 - 纯数据字段 - 使用纯数据字段改造数据监听器案例
1-14 组件生命周期和插槽
  • 27.自定义组件 - 组件的生命周期 - 组件全部的生命周期函数
  • 28.自定义组件 - 组件的生命周期 - 组件主要的生命周期函数
  • 29.自定义组件 - 组件的生命周期 - lifetimes节点
  • 30.自定义组件 - 组件所在页面的生命周期 - 概念
  • 31.自定义组件 - 组件所在页面的生命周期 - pageLifetimes节点
  • 32.自定义组件 - 组件所在页面的生命周期 - 生成随机的RGB颜色值
  • 33.自定义组件 - 插槽 - 什么是插槽
  • 34.自定义组件 - 插槽 - 单个插槽
  • 35.自定义组件 - 插槽 - 启用多个插槽
  • 36.自定义组件 - 插槽 - 定义和使用多个插槽
1-15 父子组件通信和behaviors
  • 37.自定义组件 - 父子组件通信 - 了解父子组件之间通信的3种方式
  • 38.自定义组件 - 父子组件通信 - 属性绑定
  • 39.自定义组件 - 父子组件通信 - 实现子组件的count属性自增+1
  • 40.自定义组件 - 父子组件通信 - 了解事件绑定的4个核心实现步骤
  • 41.自定义组件 - 父子组件通信 - 了解事件绑定的核心实现代码
  • 42.自定义组件 - 父子组件通信 - 通过事件绑定实现count值的同步
  • 43.自定义组件 - 父子组件通信 - 使用selectComponent获取组件实例
  • 44.自定义组件 - behaviors - 了解什么是behaviors以及它的工作方式
  • 45.自定义组件 - behaviors - 创建behavior
  • 46.自定义组件 - behaviors - 导入并使用behavior
  • 47.自定义组件 - behaviors - 了解behavior中所有可用的节点
  • 48.自定义组件 - behaviors - 同名字段的覆盖和组合规则
  • 49.自定义组件 - 总结
1-16 vant 小程序 UI 组件库和API的Promise化
  • 01.导入需要用到的小程序项目
  • 02.使用npm包 - 小程序中对npm的支持与限制
  • 03.使用npm包 - vant - 了解什么是Vant Weapp
  • 04.使用npm包 - vant - 安装Vant组件库
  • 05.使用npm包 - vant - 使用Vant组件
  • 06.使用npm包 - vant - 定义和使用CSS变量
  • 07.使用npm包 - vant - 使用CSS变量定制Vant的主题样式
  • 08.使用npm包 - API的Promise化 - 什么是小程序API的Promise化
  • 09.使用npm包 - API的Promise化 - 安装并构建miniprogram-api-promise
  • 10.使用npm包 - API的Promise化 - 三个步骤实现API的Promise化
  • 11.使用npm包 - API的Promise化 - 调用Promise化之后的异步API
1-17 微信小程序全局数据共享
  • 12.全局数据共享 - 什么是全局数据共享
  • 13.全局数据共享 - 小程序中的全局数据共享方案
  • 14.全局数据共享 - 安装并构建MobX相关的包
  • 15.全局数据共享 - 创建Store实例对象
  • 16.全局数据共享 - 定义计算属性
  • 17.全局数据共享 - 定义actions方法
  • 18.全局数据共享 - 了解将Store中的成员绑定到页面上的实现思路
  • 19.全局数据共享 - 将Store中的成员绑定到页面上
  • 20.全局数据共享 - 在页面中使用Store中的成员
  • 21.全局数据共享 - 了解将Store中的成员绑定到组件上的实现思路
  • 22.全局数据共享 - 将Store中的成员绑定到组件上
  • 23.全局数据共享 - 在组件中使用Store中的成员
1-18 分包
  • 24.分包 - 基础概念 - 了解分包的概念以及好处
  • 25.分包 - 基础概念 - 分包前后项目的构成
  • 26.分包 - 基础概念 - 分包的加载规则
  • 27.分包 - 基础概念 - 分包的体积限制
  • 28.分包 - 使用分包 - 了解如何配置分包
  • 29.分包 - 使用分包 - 演示在项目中如何配置分包
  • 30.分包 - 使用分包 - 设置分包的别名并查看分包的体积
  • 31.分包 - 使用分包 - 打包原则
  • 32.分包 - 使用分包 - 引用原则
  • 33.分包 - 独立分包 - 了解什么是独立分包以及它和普通分包的区别
  • 34.分包 - 独立分包 - 了解独立分包的应用场景
  • 35.分包 - 独立分包 - 将普通分包改造为独立分包
  • 36.分包 - 独立分包 - 独立分包的引用原则
  • 37.分包 - 分包预下载 - 介绍分包预下载的概念以及好处
  • 38.分包 - 分包预下载 - 配置分包的预下载
  • 39.分包 - 分包预下载 - 分包预下载的限制
1-19 自定义tabBar
  • 40.自定义tabBar - 演示案例效果
  • 41.自定义tabBar - 了解自定义tabBar的实现步骤
  • 42.自定义tabBar - 在app.json中声明自定义tabBar的配置信息
  • 43.自定义tabBar - 添加tabBar的代码文件
  • 44.自定义tabBar - 基于Vant组件渲染出基本的自定义tabBar效果
  • 45.自定义tabBar - 自定义tabBar的图标和文本
  • 46.自定义tabBar - 循环渲染tabBar的Item项
  • 47.自定义tabBar - 渲染并美化数字徽标的样式
  • 48.自定义tabBar - 按需渲染数字徽标
  • 49.自定义tabBar - 把Store中sum的值渲染为数字徽标
  • 50.自定义tabBar - 实现tabBar页面的切换
  • 51.自定义tabBar - 使用全局数据共享解决tabBar选中项不准确的问题
  • 52.自定义tabBar - 修改tabBar选中项文本的颜色值
  • 53.总结
第二章 黑马优购商城项目2.0
2-1 uni-app和项目搭建
  • 01.起步 - 项目介绍
  • 02.起步 - 项目文档
  • 03.起步 - 了解什么是uni-app
  • 04.起步 - 下载和安装HBuilderX
  • 05.起步 - 安装scss编译的插件
  • 06.起步 - 对HBuilderX进行个性化的配置
  • 07.起步 - 创建uni-app项目
  • 08.起步 - 了解uni-app项目的目录结构
  • 09.起步 - 把项目运行到微信开发者工具
  • 10.起步 - 配置checkSiteMap选项
  • 11.起步 - 使用Git本地管理uni-app项目
  • 12.起步 - 把本地项目托管到码云
  • 13.tabbar - 创建tabBar对应的4个页面
  • 14.tabbar - 配置tabBar效果
  • 15.tabbar - 配置导航条的样式效果
  • 16.tabbar - 分支的合并与提交
2-2 首页功能实现
  • 17.首页 - 轮播图 - 创建home子分支
  • 18.首页 - 轮播图 - 安装并配置网络请求的第三方包
  • 19.首页 - 轮播图 - 请求轮播图的数据
  • 20.首页 - 轮播图 - 渲染轮播图的UI结构
  • 21.首页 - 轮播图 - 配置小程序的分包
  • 22.首页 - 轮播图 - 点击轮播图跳转到商品详情页面
  • 23.首页 - 轮播图 - 封装uni.$showMsg()方法
  • 24.首页 - 分类导航 - 获取分类导航的数据
  • 25.首页 - 分类导航 - 渲染分类导航的UI结构
  • 26.首页 - 分类导航 - 切换到分类页面
  • 27.首页 - 楼层区域 - 获取楼层的数据
  • 28.首页 - 楼层区域 - 渲染楼层的标题
  • 29.首页 - 楼层区域 - 渲染楼层左侧的大图片
  • 30.首页 - 楼层区域 - 渲染楼层右侧的小图片
  • 31.首页 - 楼层区域 - 点击楼层图片跳转到商品列表页面
  • 32.首页 - 分支的合并与提交
2-3 分类页面功能实现
  • 01.分类 - 创建cate分支以及分类页面的编译模式
  • 02.分类 - 实现分类页面滑动区域的左右布局
  • 03.分类 - 动态设置scroll-view组件的高度
  • 04.分类 - 美化左侧scroll-view中item项的样式
  • 05.分类 - 获取分类列表的数据
  • 06.分类 - 动态渲染左侧的一级分类列表
  • 07.分类 - 定义二级分类的数据列表
  • 08.分类 - 动态渲染右侧的二级分类列表
  • 09.分类 - 动态渲染右侧的三级分类列表
  • 10.分类 - 切换一级分类后重置滚动条的位置
  • 11.分类 - 点击三级分类跳转到商品列表页面
  • 12.分类 - 分支的合并与提交
2-4 自定义搜索组件
  • 13.搜索 - 介绍搜索相关的功能
  • 14.搜索 - 创建search分支
  • 15.搜索 - 自定义组件 - 在uni-app项目中新建自定义的搜索组件
  • 16.搜索 - 自定义组件 - 渲染my-search组件的基本结构
  • 17.搜索 - 自定义组件 - 解决cate分类页面scroll-view高度的问题
  • 18.搜索 - 自定义组件 - 通过自定义属性增强组件的通用性
  • 19.搜索 - 自定义组件 - 为自定义组件封装click事件
  • 20.搜索 - 自定义组件 - 点击cate页面的搜索组件导航到搜索页面
  • 21.搜索 - 自定义组件 - 实现首页搜索组件的吸顶效果
2-5 搜索建议和搜索历史功能实现
  • 22.搜索 - 搜索建议 - 渲染搜索页面的基本结构
  • 23.搜索 - 搜索建议 - 实现搜索框自动获取焦点
  • 24.搜索 - 搜索建议 - 实现搜索框的防抖处理
  • 25.搜索 - 搜索建议 - 根据关键词查询搜索建议列表
  • 26.搜索 - 搜索建议 - 循环渲染搜索建议列表的UI结构
  • 27.搜索 - 搜索建议 - 美化搜索建议列表的UI结构
  • 28.搜索 - 搜索建议 - 点击搜索Item项导航到商品详情页
  • 29.搜索 - 搜索历史 - 渲染搜索历史记录的基本结构
  • 30.搜索 - 搜索历史 - 美化搜索历史区域的UI结构
  • 31.搜索 - 搜索历史 - 实现搜索建议和搜索历史的按需展示
  • 32.搜索 - 搜索历史 - 将搜索关键词存入historyList
  • 33.搜索 - 搜索历史 - 解决关键词前后顺序的问题
  • 34.搜索 - 搜索历史 - 解决关键词重复的问题
  • 35.搜索 - 搜索历史 - 将搜索历史记录持久化存储到本地
  • 36.搜索 - 搜索历史 - 清空搜索历史记录
  • 37.搜索 - 搜索历史 - 点击搜索历史跳转到商品列表页面
  • 38.搜索 - 分支的合并与提交
2-6 商品列表功能实现
  • 01.商品列表 - 介绍商品列表页面的功能并创建编译模式
  • 02.商品列表 - 创建goodslist分支
  • 03.商品列表 - 定义请求参数对象
  • 04.商品列表 - 获取商品列表数据
  • 05.商品列表 - 定义商品列表页面的UI结构
  • 06.商品列表 - 美化商品列表页面的UI结构
  • 07.商品列表 - 把商品Item项封装为自定义组件
  • 08.商品列表 - 使用过滤器处理商品价格
  • 09.商品列表 - 初步实现上拉加载更多
  • 10.商品列表 - 使用节流阀防止发起额外的数据请求
  • 11.商品列表 - 判断数据是否加载完毕
  • 12.商品列表 - 实现下拉刷新的效果
  • 13.商品列表 - 点击商品item项导航到商品详情页面
  • 14.商品列表 - 分支的合并与提交
2-7 商品详情功能实现
  • 15.商品详情 - 创建goodsdetail分支
  • 16.商品详情 - 添加商品详情页的编译模式
  • 17.商品详情 - 获取商品详情的数据
  • 18.商品详情 - 渲染轮播图区域
  • 19.商品详情 - 实现轮播图的大图预览效果
  • 20.商品详情 - 渲染商品信息区域的UI结构
  • 21.商品详情 - 美化商品信息区域的样式
  • 22.商品详情 - 使用rich-text组件渲染HTML内容
  • 23.商品详情 - 解决商品图文详情中图片底部空白间隙的问题
  • 24.商品详情 - 解决webp格式的图片在ios设备上无法正常显示的问题
  • 25.商品详情 - 解决商品价格闪烁的问题
  • 26.商品详情 - 渲染商品导航区域的UI结构
  • 27.商品详情 - 自定义商品导航区域的按钮信息
  • 28.商品详情 - 点击购物车按钮导航到购物车页面
  • 29.商品详情 - 分支的合并与提交
2-8 加入购物车功能实现
  • 30.加入购物车 - 创建cart分支
  • 31.加入购物车 - 配置vuex
  • 32.加入购物车 - 创建购物车的store模块
  • 33.加入购物车 - 在商品详情页中使用store中的数据
  • 34.加入购物车 - 在mutations中定义addToCart方法
  • 35.加入购物车 - 实现加入购物车的功能
  • 36.加入购物车 - 动态统计购物车中商品的总数量
  • 37.加入购物车 - 持久化存储购物车中的商品
  • 38.加入购物车 - 优化商品详情页的total侦听器
  • 39.加入购物车 - 动态为tabBar设置数字徽标
  • 40.加入购物车 - 将设置tabBar徽标的代码抽离为mixins
2-9 购物车页面-商品列表功能实现
  • 01.购物车页面 - 演示购物车页面要实现的功能
  • 02.购物车页面 - 创建购物车页面的编译模式
  • 03.购物车页面 - 商品列表区域 - 渲染商品列表的标题区域
  • 04.购物车页面 - 商品列表区域 - 渲染商品列表区域的基本结构
  • 05.购物车页面 - 商品列表区域 - 为my-goods组件封装radio勾选状态
  • 06.购物车页面 - 商品列表区域 - 通过props属性控制radio的按需展示
  • 07.购物车页面 - 商品列表区域 - 动态绑定radio组件的值
  • 08.购物车页面 - 商品列表区域 - 介绍为my-goods组件封装radio-change事件的实现思路
  • 09.购物车页面 - 商品列表区域 - 为my-goods组件封装radio-change自定义事件
  • 10.购物车页面 - 商品列表区域 - 修改购物车中商品的勾选状态
  • 11.购物车页面 - 商品列表区域 - 为my-goods组件封装NumberBox
  • 12.购物车页面 - 商品列表区域 - 通过props属性控制NumberBox的按需展示
  • 13.购物车页面 - 商品列表区域 - 介绍为my-goods组件封装num-change事件的实现思路
  • 14.购物车页面 - 商品列表区域 - 为my-goods组件封装num-change事件
  • 15.购物车页面 - 商品列表区域 - 解决NumberBox组件数据不合法的问题
  • 16.购物车页面 - 商品列表区域 - 完善NumberBox的inputValue侦听器
  • 17.购物车页面 - 商品列表区域 - 修改购物车中商品的数量
  • 18.购物车页面 - 商品列表区域 - 渲染滑动删除的UI效果
  • 19.购物车页面 - 商品列表区域 - 实现滑动删除的功能
2-10 购物车页面-收货地址功能实现
  • 20.购物车页面 - 收货地址区域 - 创建my-address收货地址组件
  • 21.购物车页面 - 收货地址区域 - 渲染收货地址组件的UI结构 - 上
  • 22.购物车页面 - 收货地址区域 - 渲染收货地址组件的UI结构 - 下
  • 23.购物车页面 - 收货地址区域 - 实现收货地址区域的按需展示
  • 24.购物车页面 - 收货地址区域 - 实现选择收货地址的功能
  • 25.购物车页面 - 收货地址区域 - 渲染收货人的信息
  • 26.购物车页面 - 收货地址区域 - 在vuex中定义用户相关的m_user模块
  • 27.购物车页面 - 收货地址区域 - 将address信息存储到vuex中
  • 28.购物车页面 - 收货地址区域 - 将vuex中的address持久化存储到本地
  • 29.购物车页面 - 收货地址区域 - 将addstr抽离为getters
  • 30.购物车页面 - 收货地址区域 - 重新选择收货地址
  • 31.购物车页面 - 收货地址区域 - 演示取消授权时的问题
  • 32.购物车页面 - 收货地址区域 - 判断用户是否授权
  • 33.购物车页面 - 收货地址区域 - 提示用户重新进行授权
  • 34.购物车页面 - 收货地址区域 - 调用openSetting方法实现重新授权
  • 35.购物车页面 - 收货地址区域 - 解决iPhone真机上无法重新授权的问题
2-11 购物车页面-结算功能实现
  • 01.购物车页面 - 结算区域 - 把结算区域封装为独立的组件
  • 02.购物车页面 - 结算区域 - 渲染结算区域的结构和样式
  • 03.购物车页面 - 结算区域 - 动态渲染已勾选商品的总数量
  • 04.购物车页面 - 结算区域 - 动态渲染全选按钮的选中状态
  • 05.购物车页面 - 结算区域 - 使用数组的reduce方法改造total的计算方式
  • 06.购物车页面 - 结算区域 - 实现商品的全选与反选功能
  • 07.购物车页面 - 结算区域 - 动态渲染已勾选商品的总价格
  • 08.购物车页面 - 结算区域 - 动态计算tabBar中购物车徽标的值
  • 09.购物车页面 - 结算区域 - 渲染购物车为空时候的页面结构
  • 10.购物车页面 - 分支的合并与提交
2-12 登录功能实现
  • 11.登录与支付 - 创建settle分支
  • 12.登录与支付 - 点击结算按钮进行条件判断
  • 13.登录与支付 - 登录 - 定义my页面的编译模式
  • 14.登录与支付 - 登录 - 实现登录组件和用户信息组件的按需展示
  • 15.登录与支付 - 登录 - 初步渲染登录组件的基本结构
  • 16.登录与支付 - 登录 - 美化登录组件的样式
  • 17.登录与支付 - 登录 - 绘制登录盒子底部的半椭圆造型
  • 18.登录与支付 - 登录 - 分析登录功能的实现思路
  • 19.登录与支付 - 登录 - 点击登录按钮获取微信用户的基本信息
  • 20.登录与支付 - 登录 - 处理用户取消登录授权的情况
  • 21.登录与支付 - 登录 - 将用户的基本信息存储到vuex
  • 22.登录与支付 - 登录 - 调用uni.login获取code对应的值
  • 23.登录与支付 - 登录 - 进一步完善uni.login调用失败之后的if判断条件
  • 24.登录与支付 - 登录 - 登录获取Token字符串
  • 25.登录与支付 - 登录 - 将Token存储到vuex中
2-13 用户信息和自动跳转功能实现
  • 26.登录与支付 - 用户信息 - 实现用户头像、昵称区域的基本布局
  • 27.登录与支付 - 用户信息 - 渲染用户的头像和昵称
  • 28.登录与支付 - 用户信息 - 渲染第1个面板的UI结构
  • 29.登录与支付 - 用户信息 - 美化第1个面板的样式
  • 30.登录与支付 - 用户信息 - 渲染第2个面板区域
  • 31.登录与支付 - 用户信息 - 渲染第3个面板区域
  • 32.登录与支付 - 用户信息 - 实现退出登录的功能
  • 33.登录与支付 - 三秒后自动跳转 - 实现倒计时提示的功能
  • 34.登录与支付 - 三秒后自动跳转 - 控制秒数的边界并自动跳转到登录页面
  • 35.登录与支付 - 三秒后自动跳转 - 解决seconds不会被重置的问题
  • 36.登录与支付 - 三秒后自动跳转 - 将返回页的信息对象记录到vuex中
  • 37.登录与支付 - 三秒后自动跳转 - 根据redirectInfo导航到登录之前的页面
2-14 微信支付功能和小程序项目发布
  • 38.登录与支付 - 微信支付 - 在请求头中添加Token身份认证的字段
  • 39.登录与支付 - 微信支付 - 了解微信支付的流程
  • 40.登录与支付 - 微信支付 - 创建订单
  • 41.登录与支付 - 微信支付 - 订单预支付
  • 42.登录与支付 - 微信支付 - 实现微信支付
  • 43.登录与支付 - 分支的合并与提交
  • 44.发布 - 为什么要进行发布
  • 45.发布 - 了解将uni-app项目发布为小程序的基本流程
  • 46.发布 - 演示将uni-app项目发布为小程序的流程
  • 47.发布 - 了解将uni-app项目发布为Android App的基本流程
  • 48.发布 - 演示将uni-app项目发布为Android App的流程

阶段七 React项目实战【拓展课程】

展开
第一章 React基础【v6.5】
1-1 React基本使用
  • 01-react基础目标
  • 02-react概述
  • 03-react的基本使用
  • 04-react的基本使用(常用方法说明)
  • 05-react脚手架的基本使用
  • 06-react脚手架的基本使用(细节补充说明)知道即可
  • 07-react脚手架中使用react
  • 08-react基础阶段总结
1-2 JSX语法
  • 09-JSX的学习目标
  • 10-JSX的基本使用
  • 11-为什么脚手架中可以使用JSX语法
  • 12-JSX的注意点
  • 13-在JSX中使用JavaScript表达式
  • 14-JSX中使用JavaScript表达式的注意点
  • 15-JSX的条件渲染
  • 16-JSX的列表渲染
  • 17-JSX的样式处理
  • 18-JSX阶段总结
1-3 React组件基础
  • 19-React组件基础学习目标
  • 20-React组件介绍
  • 21-组件的两种创建方式(1函数组件)
  • 22-组件的两种创建方式(2类组件)
  • 23-组件的两种创建方式(3抽离为独立js文件)
  • 24-React事件处理(1事件绑定)
  • 25-React事件处理(2事件对象)
  • 26-有状态组件和无状态组件
  • 27-state的基本使用
  • 28-组件中的state和setState()(1setState()修改状态)
  • 29-组件中的state和setState()(2从JSX中抽离事件处理程序)
  • 30-事件绑定this指向(1箭头函数)
  • 31-事件绑定this指向(2bind)
  • 32-事件绑定this指向(3class的实例方法)
  • 33-事件绑定this指向-总结
  • 34-表单处理(1受控组件概念)
  • 35-表单处理(2受控组件使用步骤)
  • 36-表单处理(3受控组件的示例)
  • 37-表单处理(4多表单元素优化)
  • 38-表单处理(5非受控组件)
  • 39-React组件基础总结
  • 40-React组件基础综合案例(1案例需求分析)
  • 41-React组件基础综合案例(2渲染评论列表)
  • 42-React组件基础综合案例(3渲染暂无评论并优化代码)
  • 43-React组件基础综合案例(4获取评论信息)
  • 44-React组件基础综合案例(5发表评论-1)
  • 45-React组件基础综合案例(6发表评论-2边界情况处理)
1-4 React组件进阶
  • 46-React组件进阶学习目标
  • 47-组件通讯介绍
  • 48-组件的props(1基本使用)
  • 49-组件的props(2特点)
  • 50-组件通讯的三种方式(1父组件传递数据给子组件)
  • 51-组件通讯的三种方式(2子组件传递数据给父组件)
  • 52-组件通讯的三种方式(3兄弟组件通讯)
  • 53-Context的基本使用
  • 54-props深入(1children属性)
  • 55-props深入(2props校验)
  • 56-props深入(3props校验-约束规则)
  • 57-props深入(4props的默认值)
  • 58-组件的生命周期(1概述)
  • 59-组件的生命周期三个阶段(1创建时)
  • 60-组件的生命周期三个阶段(2更新时-1触发时机)
  • 61-组件的生命周期三个阶段(2更新时-2钩子函数说明)
  • 62-组件的生命周期三个阶段(3卸载时)
  • 63-组件的生命周期三个阶段(4不常用钩子函数介绍)
  • 64-render props和高阶组件概述
  • 65-render props模式(1思路分析)
  • 66-render props模式(2使用步骤)
  • 67-render props模式(3演示Mouse组件的复用)
  • 68-render props模式(4children代替render属性)
  • 69-render props模式(5代码优化)
  • 70-高阶组件(1介绍)
  • 71-高阶组件(2使用步骤)
  • 72-高阶组件(3设置displayName)
  • 73-高阶组件(4传递props)
  • 74-React组件进阶总结
1-5 React原理及优化
  • 75-React原理揭秘学习目标
  • 76-setState()方法的说明(1更新数据)
  • 77-setState()方法的说明(2推荐语法)
  • 78-setState()方法的说明(3第二个参数)
  • 79-JSX语法的转化过程
  • 80-组件更新机制
  • 81-组件性能优化(1减轻state)
  • 82-组件性能优化(2避免不必要的重新渲染1)
  • 83-组件性能优化(2避免不必要的重新渲染-随机数案例)
  • 84-组件性能优化(2避免不必要的重新渲染-随机数案例2)
  • 85-组件性能优化(3纯组件-基本使用)
  • 86-组件性能优化(3纯组件-shallow compare)
  • 87-虚拟DOM和Diff算法
  • 88-虚拟DOM和Diff算法(代码演示)
  • 89-React原理揭秘总结
1-6 React路由
  • 90-React路由基础学习目标
  • 91-React路由介绍
  • 92-路由的基本使用
  • 93-路由的基本使用(常用组件说明)
  • 94-路由的执行过程
  • 95-编程式导航
  • 96-默认路由
  • 97-匹配模式(1模糊匹配模式)
  • 98-匹配模式(2精确匹配)
  • 99-React路由基础总结
  • 【补充说明】React-RouterV6.x
第二章 好客租房项目【v6.5】
2-1 项目介绍和初始化
  • 01-好客租房移动Web(上)学习目标
  • 02-项目介绍
  • 03-本地接口部署
  • 04-初始化项目
  • 05-组件库antd-mobile的介绍和使用
  • 06-配置基础路由
  • 07-外观和样式调整
  • 08-两种布局页面
  • 09-嵌套路由
2-2 项目首页布局+功能实现
  • 10-实现TabBar(1基本使用)
  • 11-实现TabBar(2修改TabBar外观样式)
  • 12-实现TabBar(3TabBar配合路由使用)
  • 13-实现TabBar(4TabBar.Item代码重构)
  • 14-首页模块(首页路由处理)
  • 15-轮播图组件的基本使用
  • 16-获取轮播图数据
  • 17-导航菜单
  • 18-导航菜单(代码重构)
  • 19-轮播图Bug分析和修复
  • 20-TabBar菜单高亮Bug分析和修复
  • 21-在脚手架中使用sass
  • 22-租房小组的业务介绍和数据获取
  • 23-租房小组结构样式
  • 24-租房小组数据渲染
  • 25-最新资讯(作为练习)及解决TabBar遮挡Bug
  • 26-顶部导航
2-3 百度地图API使用
  • 27-H5中的地理位置API
  • 28-百度地图API(1介绍)
  • 29-百度地图API(2申请百度账号和秘钥)
  • 30-百度地图API(3使用步骤)
  • 31-百度地图API(4获取顶部导航城市信息)
2-4 城市选择和渲染
  • 32-城市选择模块功能分析
  • 33-城市选择模块(顶部导航栏)
  • 34-获取并处理城市列表数据
  • 35-获取并处理城市列表数据(1数据格式分析和转化)
  • 36-获取并处理城市列表数据(2热门城市数据)
  • 37-封装获取当前定位城市的函数
  • 38-获取并处理城市列表数据(3添加当前定位数据)
  • 39-长列表性能优化(1概述)
  • 40-长列表性能优化(2懒渲染说明)
  • 41-长列表性能优化(3可视区域渲染)
  • 42-react-virtualized(1概述)
  • 43-react-virtualized(2基本使用)
  • 44-渲染城市列表(让List组件占满屏幕)
  • 45-渲染城市列表
  • 46-渲染城市列表(展示城市索引)
  • 47-渲染城市列表(展示索引下的城市以及动态计算每一行的高度)
  • 48-渲染右侧索引列表
  • 49-渲染右侧索引列表(2滚动城市列表让对应索引高亮)
  • 50-渲染右侧索引列表(3点击索引指定该索引城市)
  • 51-切换城市
  • 52-好客租房移动Web(上)-总结
2-5 顶部导航组件封装
  • 53-好客租房移动Web(中)学习目标
  • 54-地图找房模块功能分析
  • 55-封装顶部导航栏组件(1顶部导航)
  • 56-封装顶部导航栏组件(2样式调整)
  • 57-封装顶部导航栏组件(3功能处理withRouter)
  • 58-封装顶部导航栏组件(4添加props校验)
  • 59-在城市选择页面使用NavHeader组件
  • 60-组件间样式覆盖问题的说明
2-6 CSS Modules
  • 61-CSS-IN-JS的说明
  • 62-CSS Modules的说明
  • 63-CSS Modules在项目中的使用
  • 64-CSS Modules的应用
2-7 地图找房功能实现
  • 65-地图找房页面顶部导航栏样式处理
  • 66-根据定位展示当前城市
  • 67-创建文本覆盖物
  • 68-绘制房源覆盖物
  • 69-地图找房功能分析
  • 70-渲染所有区的覆盖物
  • 71-地图找房功能的封装流程
  • 72-地图找房功能renderOverlays
  • 73-地图找房功能createOverlays
  • 74-地图找房功能createCircle
  • 75-地图找房功能createRect(绘制小区覆盖物)
  • 76-获取并展示小区房源数据
  • 77-获取并展示小区房源数据(优化)
  • 78-createRect方法封装完成
  • 79-添加loading优化体验
  • 80-axios优化和环境变量
  • 81-使用环境变量(修改图片地址)
  • 82-axios优化(手动创建axios实例)
  • 83-列表找房模块功能分析
  • 84-封装首页搜索导航栏
  • 85-实现找房页面搜索导航栏(结构和样式)
  • 86-找房页面返回按钮事件和修改首页搜索导航组件
2-8 FilterTitle、FilterPicker、FilterMore组件实现
  • 87-条件筛选栏组件结构分析
  • 88-条件筛选栏组件的功能分析
  • 89-FilterTitle组件实现思路分析
  • 90-FilterTitle组件实现(1高亮逻辑)
  • 91-FilterTitle组件实现(2点击菜单高亮)
  • 92-FilterPicker组件实现思路分析
  • 93-FilterPicker组件(1控制展示和隐藏)
  • 94-FilterPicker组件(2获取当前筛选条件的数据-1)
  • 95-FilterPicker组件(3获取当前筛选条件的数据-完成)
  • 96-FilterPicker组件(4获取选中值)
  • 97-FilterPicker组件(5设置默认选中值)
  • 98-FilterPicker组件(6解决设置默认选中值的bug)
  • 99-完善FilterTitle高亮功能(1实现思路)
  • 100-完善FilterTitle高亮功能(2实现步骤)
  • 101-FilterMore组件(1渲染组件数据)
  • 102-FilterMore组件(2获取选中值以及设置高亮)
  • 103-FilterMore组件(3清除和确定按钮的逻辑处理)
  • 104-FilterMore组件(4设置默认选中值)
  • 105-完成FilterTitle高亮功能
2-9 房源筛选及房屋详情功能
  • 106-根据筛选条件获取房屋列表数据(组装筛选条件)
  • 107-获取房屋列表数据
  • 108-进入页面时获取数据
  • 109-使用List组件渲染数据
  • 110-使用WindowScroller让List跟随页面滚动
  • 111-InfiniteLoader组件的说明和基本使用
  • 112-加载更多房屋列表数据
  • 113-条件筛选栏吸顶功能(1实现思路)
  • 114-条件筛选栏吸顶功能(2实现步骤1)
  • 115-条件筛选栏吸顶功能(2实现步骤2)
  • 116-条件筛选栏吸顶功能(3通用性优化以及组件封装原则)
  • 117-列表找房功能优化-找Bug模式(1加载提示)
  • 118-列表找房功能优化-找Bug模式(2条件筛选栏优化)
  • 119-列表找房功能优化-找Bug模式(3切换城市显示房源)
  • 120-react-spring动画库概述
  • 121-react-spring动画库的基本使用
  • 122-实现遮罩层动画
  • 123-房屋详情模块功能分析
  • 124-房屋详情模块功页面模板说明
  • 125-路由参数的说明和基本使用
  • 126-展示房屋详情(1)
  • 127-展示房屋详情(2完成)
  • 128-好客租房移动Web(中)总结
2-10 用户登录功能实现
  • 129-好客租房移动Web(下)学习目标
  • 130-登录模块功能分析
  • 131-用户登录(1分析页面结构和样式)
  • 132-用户登录(2登录功能1)
  • 133-用户登录(2登录功能完成)
  • 134-用户登录(3表单校验说明)
  • 135-formik介绍
  • 136-使用formik重构登录功能
  • 137-两种表单验证方式
  • 138-给登录功能添加表单验证
  • 139-简化表单处理
  • 140-我的页面(1页面结构和样式)
  • 141-我的页面(2功能分析)
  • 142-我的页面(3功能实现)
  • 143-我的页面(4退出功能)
  • 144-登录访问控制(1概述)
  • 145-登录访问控制(2使用axios拦截器统一处理token)
  • 146-登录访问控制(3分析AuthRoute鉴权路由组件)
  • 147-登录访问控制(4封装AuthRoute鉴权路由组件)
  • 148-登录访问控制(5修改登录成功跳转)
2-11 房源收藏功能实现
  • 149-我的收藏模块功能分析
  • 150-检查房源是否收藏
  • 151-收藏房源(1)
  • 152-收藏房源(2)
2-12 发布房源和搜索房源功能实现
  • 153-房源发布模块(功能演示和介绍)
  • 154-发布房源模块-模板改动说明
  • 155-配置三个页面的路由规则
  • 156-关键词搜索小区信息(1实现思路)
  • 157-关键词搜索小区信息(2实现步骤)
  • 158-关键词搜索小区信息(3传递小区信息给发布房源页面)
  • 159-发布房源(1页面结构分析)
  • 160-发布房源(2获取房源数据)
  • 161-发布房源(3获取房屋配置数据)
  • 162-发布房源(4房屋图片上传分析)
  • 163-发布房源(5获取房屋图片)
  • 164-发布房源(6上传房屋图片)
  • 165-发布房源(7完成)
2-13 项目打包及项目优化
  • 166-项目打包
  • 167-修改脚手架配置说明
  • 168-项目优化(1antd-mobile按需加载)
  • 169-项目优化(2基于路由的代码分割)
  • 170-项目优化(3其他优化和说明)
  • 171-好客租房移动Web(下)总结

阶段八 面试指导+前端面试题【重要+必看】

展开
第一章 工作篇
1-1 工作篇
  • 工作篇
第二章 前端市场篇
2-1 前端开发-市场篇
  • 前端市场篇
第三章 求职篇
3-1 求职篇
  • 求职篇1简历制作
  • 求职篇2简历投递技巧
  • 应聘渠道使用技巧
第四章 面试篇
4-1 面试篇
  • 面试篇1
  • 面试篇2
第五章 试用期篇
5-1 试用期
  • 试用期篇1
  • 试用期篇2
第六章 前端就业加强课
6-1 内容介绍【react面试题是选学,参考讲义即可】
  • 00-内容介绍
6-2 HTML+CSS
  • 01-HTML基础-HTML5的基本认知
  • 02-HTML基础-data-开头的元素属性是什么
  • 03-HTML基础-谈谈你对 HTML 语义化的理解?
  • 04-HTML基础-HTML5 对比 HTML4 有哪些不同之处?
  • 05-HTML基础-meta 标签有哪些常用用法?
  • 06-HTML基础-img 标签的 srcset 的作用是什么?
  • 07-HTML基础-响应式图片处理优化Picture标签
  • 08-HTML基础-在 script 标签上使用 defer 和 async 的区别是什么?
  • 09-HTML基础-前端做本地存储的方式有哪些
  • 10-CSS基础-CSS选择器的优先级
  • 11-CSS基础-通过CSS的哪些方式可以隐藏页面上的元素
  • 12-CSS基础-px, em, rem之间的区别
  • 13-CSS基础-让元素水平居中的方法有哪些(4种)
  • 14-CSS基础-在 CSS 中有哪些定位方式
  • 15-CSS基础-如何理解 z-index, z-index的小坑
  • 16-CSS基础-如何清除浮动
  • 17-CSS基础-谈谈你对 BFC 的理解
  • 18-CSS基础-什么是CSS Sprites以及它的好处
  • 19-CSS基础-你对媒体查询的理解是什么样的?(响应式适配)
  • 20-CSS基础-你对盒模型的理解是什么样的?标准盒子模型和怪异盒子模型的区别是什么
  • 21-CSS基础-说说伪类和伪元素的区别
  • 22-CSS基础-谈谈你对 flex 的理解
6-3 JavaScript基础
  • 23-JS基础-解释下什么是变量提升
  • 24-JS基础-JS的参数以什么方式传递的
  • 25-JS基础-JavaScript垃圾回收01
  • 26-JS基础-JavaScript垃圾回收02
  • 00-简要复习
  • 01-JS基础-谈谈你对 JavaScript 作用域链的理解
  • 02-JS基础-谈谈你对闭包的理解
  • 03-JS基础-闭包补充说明
  • 04-JS基础-数据类型的隐式转换规则(了解)
  • 05-JS基础-谈谈你对原型链的理解
  • 06-JS基础-为什么要有继承
  • 07-JS基础-继承-原型继承
  • 08-JS基础-继承-组合式继承
  • 09-JS基础-继承-寄生组合式继承
  • 10-JS基础-es6-class 实现继承 extends
  • 11-JS基础-如何判断是否是数组
  • 12-JS基础-this指向的整理
  • 13-JS基础-this小练习-箭头函数中的this问题
  • 14-JS基础-Promise的静态方法
  • 15-JS基础-宏任务和微任务
  • 16-JS基础-宏任务微任务练习题1
  • 17-JS基础-宏任务微任务练习题2
6-4 HTTP协议
  • 18-HTTP协议-HTTP的常见方法
  • 19-HTTP协议-GET方法和POST方法有何区别
  • 20-HTTP协议-请求报文的组成部分
  • 21-HTTP协议-响应报文的组成部分
  • 22-HTTP协议-状态码-2xx
  • 23-HTTP协议-状态-3xx(重点记忆304)
  • 24-HTTP协议-状态码(4xx和5xx)400,401
  • 25-HTTP协议-keep-alive是什么(复用连接)
  • 26-简要小结
  • 01-HTTP协议-为什么需要HTTPS
  • 02-HTTP协议-对称加密
  • 03-HTTP协议-非对称加密和HTTPS的加密解决方案
  • 04-HTTP协议-数字证书(保证你正在访问的网站是安全的-登记了该网站和该网站公钥信息)
  • 05-HTTP协议-数字签名和小结
  • 06-HTTP协议-HTTP2和HTTP1相比的优势
  • 07-HTTP协议-http缓存的基本认知
  • 08-HTTP协议-强缓存的认知
  • 09-HTTP协议-协商缓存认知
  • 10-HTTP协议-整体巩固
  • 11-HTTP协议-整体缓存流程图
6-5 TCP协议
  • 12-TCP协议-一次完整的http服务的流程
  • 13-TCP协议-什么是DNS解析
  • 14-TCP协议-三次握手
  • 15-TCP协议-四次挥手
6-6 浏览器原理
  • 16-DOM-事件流和事件委托
  • 17-浏览器原理-浏览器是如何解析选择器的-1
  • 18-浏览器原理-如何解析选择器的-2
  • 19-浏览器原理-浏览器是如何进行界面渲染的
  • 20-浏览器原理-重排和重绘的认知
  • 21-浏览器原理-浏览器对于重绘重排的优化
  • 22-浏览器原理-如何从重绘和重排角度优化性能
  • 00-复习回顾
  • 01-浏览器原理-前端如何实现即时通信
  • 02-浏览器原理-同源策略和跨域
6-7 前端工程化
  • 03-前端工程化-babel的原理
  • 04-前端工程化-babel实现插件
  • 05-前端工程化-git工作流
  • 06-前端工程化-git的rebase和merge的区别
  • 07-前端工程化-git的reset回退和revert撤销
6-8 Vue相关
  • 08-vue相关-什么是MVVM
  • 09-vue相关-谈谈对于vue生命周期的理解
  • 10-vue相关-组件通信-父子props和$emit
  • 11-vue相关-组件通信-$children $parent $refs
  • 12-vue相关-组件通信-provide inject
  • 13-vue相关-组件通信-$attrs和$listeners
  • 14-vue相关-组件通信-vuex
  • 15-上午回顾
  • 16-vue相关-computed和watch的区别
  • 17-vue相关-vue双向数据绑定的原理
  • 18-vue相关-响应式系统原理(dep收集依赖-数据变化后-根据依赖派发更新)
  • 19-vue相关-key的作用
  • 20-vue相关-Vue 跳转路由时的传参方式 (query和params的区别)
  • 21-vue相关-vue项目进行SEO优化
  • 22-vue相关-vue项目权限控制
  • 23-vue相关-vue项目支付功能
  • 24-vue相关-如何处理打包出来的项目首屏加载过慢
  • 25-vue相关-你在项目中遇到过什么技术难题
  • 26-vue相关-请简单介绍一下你们的项目
第七章 Vue面试题精讲【含Vue3】
7-1 Vue核心知识点
  • 1、课程介绍
  • 2、Vue基本使用介绍
  • 3、属性绑定
  • 4、列表渲染
  • 5、v-model
  • 6、v-on
  • 7、Class与Style绑定
  • 8、条件渲染
  • 9、计算属性
  • 10、侦听器
  • 11、生命周期简介
  • 12、生命周期探讨1
  • 13、生命周期探讨2
  • 14、生命周期探讨3
  • 15、生命周期探讨4
  • 16、组件概述
  • 17、组件基本使用
  • 18、局部组件使用
  • 19、父组件向子组件传值
  • 20、子组件向父组件传值
  • 21、兄弟组件传值
  • 22、插槽简介
  • 23、插槽基本创建
  • 24、具名插槽
  • 25、作用域插槽应用
  • 26、作用域查看案例
  • 27、插槽总结
  • 28、Vue组件化的理解
  • 29、Vue.set方法
  • 30、Vue.delete方法
  • 31、$on与$emit方法
  • 32、自定义组件实现双向绑定
  • 33、使用插槽完成内容分发
  • 34、事件总线
  • 35、$once与$off
  • 36、ref 和vm.$refs
  • 37、过滤器基本使用
  • 38、带参数的过滤器
  • 39、自定义指令基本使用
  • 40、 自定义指令-带参数
  • 41、自定义局部指令
  • 42、渲染函数
  • 43、混入
  • 44、插件介绍
7-2 Vue-Router知识点
  • 1、路由简介
  • 2、路由基本使用
  • 3、路由重定向
  • 4、路由嵌套
  • 5、动态匹配路由的基本用法
  • 6、路由组件传递参数
  • 7、命名路由
  • 8、编程式导航
  • 9、路由案例-渲染根组件
  • 10、将菜单改造为路由连接
  • 11、添加子路由规则并实现路由重定向
  • 12、渲染用户列表数据
  • 13、跳转到详情页
  • 14、路由全局守卫
  • 15、路由独享守卫
  • 16、组件内守卫
  • 17、addRoutes动态路由添加
  • 18、路由组件缓存
  • 19、Hash模式与History模式
  • 20、History模式使用1
  • 21、History模式2
  • 22、Nginx配置History模式
  • 23、复习VueRouter工作原理
  • 24、install方法实现
  • 25、构造方法创建
  • 26、解析路由规则
  • 27、创建router-link组件
  • 28、测试
  • 29、构建render函数
  • 30、构建router-view组件
  • 31、解决组件加载问题
  • 32、解决前进与后退问题
  • 33、复习总结
  • 34、查看Vue.use方法源码
  • 35、VueRouter目录结构分析
  • 36、VueRouter类初步创建
  • 37、install方法第二种方式实现
  • 38、组件创建测试
  • 39、解析路由规则1
  • 40、路由规则解析2
  • 41、路由规则解析完成
  • 42、match方法实现
  • 43、历史记录处理
  • 44、不同路由模式判断处理
  • 45、代码测试
  • 46、定义响应式路由属性
  • 47、创建$route与$router
  • 48、组件渲染1
  • 49、组件渲染2
  • 50、组件渲染完成
7-3 Vue响应式原理
  • 1、课程目标
  • 2、数据驱动介绍
  • 3、defineProperty基本使用
  • 4、defineProperty使用2
  • 5、Vue3响应式原理
  • 6、发布订阅模式介绍
  • 7、发布订阅模式实现
  • 8、观察者模式
  • 9、模拟Vue响应式原理
  • 10、创建Observer类
  • 11、完善defineReactive方法
  • 12、Compiler类结构
  • 13、 compile方法实现
  • 14、compileText方法实现
  • 15、compileElement方法实现
  • 16、Dep类分析
  • 17、创建Dep类
  • 18、创建Watcher类
  • 19、创建Watcher对象
  • 20、创建Watcher对象2
  • 21、实现双向数据绑定
  • 22、响应式的问题
7-4 Vue虚拟DOM
  • 1、课程目标
  • 2、虚拟DOM介绍
  • 3、为什么使用Virtual DOM
  • 4、虚拟DOM的作用
  • 5、创建项目
  • 6、Snabbdom导入
  • 7、Snabbdom的基本使用
  • 8、 Snabbdom的基本使用2
  • 9、模块的基本使用
  • 10、h函数介绍
  • 11、Vnode函数
  • 12、虚拟DOM创建过程
  • 13、patch函数执行过程介绍
  • 14、init函数源码查看
  • 15、patch函数源码查看
  • 16、调试patch函数
  • 17、createElm函数源码解读
  • 18、addVnodes和removeVnodes方法
  • 19、patchVnode方法执行流程
  • 20、patchVode方法源码分析
  • 21、diff算法比较流程1
  • 22、diff算法比较2
  • 23、diff算法比较3
  • 24、diff算法比较4
  • 25、updateChildren方法源码分析1
  • 26、updateChildren方法源码分析2
  • 27、钩子函数介绍
  • 28、模块源码分析
  • 29、模块调用的时机分析
7-5 Vuex状态管理
  • 1、课程介绍
  • 2、状态管理介绍
  • 3、简易的状态管理
  • 4、Vuex介绍
  • 5、Vuex核心概念
  • 6、State应用
  • 7、Getters应用
  • 8、Mutation应用
  • 9、Action应用
  • 10、Module应用
  • 11、Vuex严格模式
  • 12、购物车案例介绍
  • 13、商品列表
  • 14、添加购物车
  • 15、购物车列表展示
  • 16、计算商品数量与价格
  • 17、删除购物车中商品
  • 18、购物车商品展示
  • 19、实现全选功能
  • 20、处理文本框
  • 21、实现选中商品的统计功能
  • 22、存储购物车中的商品数据
  • 23、模拟Vuex上
  • 24、模拟Vuex下
  • 25、总结
7-6 Vue服务端渲染
  • 1、服务端渲染介绍
  • 2、渲染的概念
  • 3、传统服务端渲染
  • 4、客户端渲染介绍
  • 5、客户端渲染问题描述
  • 6、什么是同构渲染
  • 7、同构渲染的问题
  • 8、初始化NuxtJS项目
  • 9、基本路由规则
  • 10、路由导航
  • 11、动态路由
  • 12、嵌套路由
  • 13、获取异步数据
  • 14、获取异步数据2
  • 15、上下文对象
  • 16、渲染Vue实例
  • 17、创建web服务器
  • 18、模板使用
  • 19、向模板中传递数据
  • 20、问题说明
  • 21、创建目录结构
  • 22、Webpack配置1
  • 23、Webpack配置2
  • 24、配置构建命令
  • 25、测试打包
  • 26、实现客户端交互
  • 27、解析渲染的流程
7-7 Vue常见面试题
  • 1、watch问题
  • 2、v-if与v-show
  • 3、循环列表
  • 4、组件通信
  • 5、生命周期问题
  • 6、v-model问题
  • 7、$nextTick问题
  • 8、动态组件问题
  • 9、异步加载组件
  • 10、keep-alive
  • 11、mixin
  • 12、MVVM
  • 13、defineProperty问题1
  • 14、defineProperty问题2
  • 15、vue如何监听数组的变化
  • 16、虚拟DOM和diff算法
  • 17、模板编译与渲染
  • 18、常见面试题说明
7-8 Vue源码解读
  • 1、准备工作
  • 2、查找入口文件
  • 3.查看入口代码
  • 4、查看入口代码2
  • 5、Vue初始化过程
  • 6、Vue初始化过程2
  • 7、静态成员初始化
  • 8、extend源码分析
  • 9、Vue.use方法源码分析
  • 10、Vue.mixin与Vue.extend方法源码
  • 11、initAssetRegisters方法源码
  • 12、Vue实例成员
  • 13、init方法
  • 14、initState方法
  • 15、总结
  • 16、响应式处理的入口
  • 17、Observer
  • 18、defineReactive
  • 19、依赖收集
  • 20、数组响应式处理
  • 21、数组响应式练习题
  • 22、总结响应式处理过程
7-9 Vue3.0
  • 1、Vue3简介
  • 2、Composition API 设计动机
  • 3、Vue3性能提升介绍
  • 4、Vite介绍
  • 5、Composition API基本使用
  • 6、生命周期钩子函数使用
  • 7、toRefs函数应用
  • 8、ref函数应用
  • 9、计算属性应用
  • 10、watch函数应用
  • 11、watchEffect函数应用
  • 12、todolist项目结构说明
  • 13、添加功能实现
  • 14、删除功能实现
  • 15、编辑操作实现1
  • 16、编辑操作实现2
  • 17、修改任务状态
  • 18、过滤任务状态
  • 19、清除已经完成的任务
  • 20、完成数据持久化
  • 21、总结
第八章 JavaScript面试精讲
8-1 JavaScript基础面试题
  • 1、课程简单介绍
  • 2、基本数据类型与引用类型区别
  • 3、哪些场景中会出现undefined
  • 4、哪些场景中会出现null
  • 5、undefined与null之间的比较
  • 6、Boolean类型转换问题
  • 7、Number类型注意事项
  • 8、Number函数转换规则
  • 9、parseInt函数转换规则
  • 10、parseFloat函数说明
  • 11、 isNaN( )函数与Number.isNaN( )函数区别
  • 12、字符串创建方式以及对应的区别
  • 13、怎样实现字符串逆序输出
  • 14、怎样统计出现最多的字符1
  • 15、怎样统计出出现最多字符2
  • 16、怎样实现字符串去重操作1
  • 17、怎样实现字符串去重操作2
  • 18、判断字符串是否为回文字符串1
  • 19、判断字符串是否为回文字符串2
  • 20、双等运算符与三等运算符区别
  • 21、typeof运算符
  • 22、判断变量是否为空的方法
  • 23、switch结构问题
8-2 引用类型
  • 1、引用数据类型与基本类型区别复习
  • 2、new操作符的作用
  • 3、原型对象理解
  • 4、属性访问与判断问题
  • 5、Object.create方法基本使用
  • 6、Object.create方法实现原理
  • 7、Object.create方法应用场景
  • 8、Object.create( )与new Object()的区别
  • 9、模拟new操作符的实现
  • 10、什么是原型链
  • 11、原型链有什么特点
  • 12、怎样判断一个属性是实例自身的还是原型链上的
  • 13、怎样判断一个变量是否为数组类型---instanceof
  • 14、怎样判断一个变量是否为数组类型---构造函数
  • 15、怎样判断一个变量是否为数组类型--toString函数
  • 16、类型判断注意事项
  • 17、怎样过滤数组中的数据
  • 18、怎样完成数组元素的累加操作
  • 19、完成数组中最大值与最小值统计
  • 20、常见的数组遍历方式有哪些
  • 21、手动模拟实现find函数
  • 22、手动模拟实现filter函数
  • 23、手动模拟实现some函数
  • 24.手动模拟实现every函数
  • 25、手动模拟实现map函数
  • 26、手动模拟实现reduce函数
  • 27、怎样实现数组的去重操作1
  • 28、怎样实现数组去重操作2
  • 29、怎样实现数组去重操作3
  • 30、获取数组中最多的元素1
  • 31、获取数组中最多的元素2
8-3 函数常见问题讲解
  • 1、函数定义的方式
  • 2、Function构造函数问题
  • 3、函数表达式应用场景介绍
  • 4、函数声明与函数表达式区别
  • 5、函数调用的方式
  • 6、实参与形参的区别
  • 7、介绍一下arguments对象
  • 8、arguments应用场景分析
  • 9、构造函数与普通函数有什么区别
  • 10、什么是作用域
  • 11、什么是作用域链
  • 12、作用域与作用域链的常见面试题1
  • 13、作用域与作用域链的常见面试题2
  • 14、变量提升
  • 15、函数提升
  • 16、函数提升问题
  • 17、执行上下文环境
  • 18、闭包
  • 19、闭包应用1
  • 20、闭包应用2
  • 21、闭包常见面试题1
  • 22、闭包常见面试题2
  • 23、闭包常见面试题3
  • 24、闭包优点与缺点
  • 25、this指向问题1
  • 26、this指向问题2
  • 27、this指向问题3
  • 28、call()函数,apply( )函数,bind( )函数的使用
  • 29、应用场景1
  • 30、应用场景2
  • 31、手动实现call函数
  • 32、手动实现apply函数
  • 33、手动实现bind函数
  • 34、回调函数问题
  • 35、函数为什么被称为一等公民
8-4 对象常见问题讲解
  • 1、 Object.defineProperty方法使用
  • 2、属性访问方式区别
  • 3、创建对象的方式以及优缺点1
  • 4、创建对象的方式以及优缺点2
  • 5、什么是浅拷贝
  • 6、什么是深拷贝
  • 7、深拷贝模拟实现1
  • 8、深拷贝模拟实现2
  • 9、重写原型对象的问题
  • 10、原型链继承
  • 11、构造函数继承
  • 12、拷贝继承
  • 13、组合继承
  • 14、寄生式组合继承
  • 15、模拟jQuery--基本结构实现
  • 16、模拟jQuery--this指向问题
  • 18、模拟jQuery-html方法实现
  • 19、模拟jQuery-extend方法实现
  • 20、模拟jQuery-为标签添加样式
  • 21、模拟jQuery-复习
  • 22、模拟jQuery--封装独立命名空间
  • 23、对象常见问题总结
8-5 DOM与事件
  • 1、DOM与事件常见问题说明
  • 2、常见选择器介绍
  • 3、HTMLCollection对象与NodeList对象区别
  • 4、常见DOM操作1
  • 5、常见DOM操作2
  • 6、DOM性能问题
  • 7、事件传播介绍
  • 8、什么是事件捕获
  • 9、什么是事件冒泡
  • 10、阻止事件冒泡
  • 11、事件冒泡与事件捕获综合问题
  • 12、Event对象使用
  • 13、事件模型1
  • 14、事件模型2
  • 15、事件模型3
  • 16、事件委托1
  • 17、事件委托2
  • 18、浏览器重排介绍
  • 19、浏览器重绘介绍
8-6 Ajax常见问题讲解
  • 1、Ajax介绍
  • 2、Ajax创建流程
  • 3、Ajax优缺点总结
  • 4、Get请求与Post请求区别
  • 5、Get和Post请求的应用场景总结
  • 6、浏览器同源策略
  • 7、为什么浏览器会有跨域限制的问题
  • 8、跨域问题演示
  • 9、CORS
  • 10、JSONP
8-7 ES6
  • 1、let与var区别
  • 2、为什么需要块级作用域
  • 3、块级作用域
  • 4、let命令注意事项
  • 5、const命令注意事项
  • 6、数组解构赋值
  • 7、对象解构赋值
  • 8、解构赋值好处
  • 9、扩展运算符基本使用
  • 10、扩展运算符应用场景
  • 11、rest运算符使用、优势、注意事项
  • 12、箭头函数基本使用
  • 13、箭头函数中this指向的问题
  • 14、箭头函数不适合的场景说明
  • 15、Object.assign方法应用
  • 16、Object.assign方法注意事项
  • 17、什么是Symbol
  • 18、Symbol应用场景
  • 19、Proxy介绍
  • 20、Proxy应用场景
  • 21、Proxy应用场景2
  • 22、Proxy应用场景3
  • 23、Set结构
  • 24、Generator函数基本使用
  • 25、Generator函数面试题
  • 26、Generator函数问题
  • 26、Generator函数中的this问题
  • 27、Generator函数应用场景1
  • 28、Generator函数应用场景2
  • 29、回调地狱问题
  • 30、同步的问题
  • 31、Promise基本使用
  • 32、Promise封装Ajax操作
  • 33、Promise常见误区
  • 34、Promise链式调用问题
  • 35、Promise异常处理
  • 36、Promise并行处理
  • 37、Promise.race方法
  • 38、Promise静态方法
  • 39、Promise执行顺序的问题
  • 40、模拟Promise-搭建基本结构
  • 41、模拟Promise-异常处理
  • 42、模拟Promise--then方法处理
  • 43、模拟Promise-基本测试
  • 44、模拟Promise-完善操作
  • 46、常见的异步编程方式总结
  • 47、async介绍
  • 48、async函数应用
  • 49、async处理异步请求
  • 50、请求依赖关系的处理
  • 51、并行处理的问题
8-8 模块化
  • 1、模块化的发展过程
  • 2、常见模块化标准介绍
  • 3、ES Module特性说明
  • 4、模块导出操作
  • 5、导出的注意事项
  • 6、导入的注意事项
  • 7、导入与导出应用技巧
8-9 JavaScript性能优化的问题
  • 1、什么是内存管理
  • 2、什么是垃圾回收
  • 3、什么是GC算法
  • 4、引用计数算法实现原理分析
  • 5、引用计算算法的优点与缺点
  • 6、标记清除算法介绍
  • 7、标记清除算法的问题说明
  • 8、标记整理算法介绍
  • 9、V8引擎介绍
  • 10、V8引擎垃圾回收1
  • 11、V8引擎垃圾回收2
  • 12、V8引擎垃圾回收3
  • 13、全局变量的问题
  • 14、全局变量问题2
  • 15、方法问题
  • 16、闭包的问题
  • 17、循环的问题
  • 18、代码层级问题
  • 19、作用域问题
  • 20、class基本使用
  • 21、class原理分析
  • 22、class继承实现