2023-111.完成一个页面的开发本周任务
熟悉 vue3 若依基础框架
会使用 3h1 和 vben admin antd 组件库的用法
新增路由 封装API 调用接口 页面渲染 curd
二级页面 Modal
1.index.vue123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118<template> <div> <!--BasicTable 表格--> <BasicTable @register="registerTable"> <!-- ...
前端基础1.h5的新特性?css3的新特性?H5新特性
拖拽释放api
自定义属性data-id
语义化标签
audio、video
canvas
地理api
localStorage、sessionStorage
表单控件
webworker、websocket
css3新特性
rgba
border-radius
盒子模型
线性渐变
过渡
动画
flex
字体图标
2.盒子水平垂直居中
绝对定位 + transform:translate(-50%,-50%)
flex布局
3.css选择器优先级!Important>行内样式>ID 选择器>类选择器>标签>通配符>继承>浏览器默认属性
4.rem的理解rem 是 CSS3 新增的一个相对单位(root em,根 em),使用 rem 为元素设定字体大小时,仍然是相对大小,但相对的只是 HTML 根元素。
手淘方案:
拿到设计稿除以 10,得到 font-size 基准值
引入 flexible
设计稿 px/ font-size 基准值,即可换算为 rem
5.po ...
总结vue-admin场景: 二次迭代
vue-admin-template 下载项目 找到核心内容 (自己分到的业务模块)
项目目录固定的抽象模式 语义化 + 增加可维护性
src - 业务代码 最终浏览器中运行 (目录划分相似 语义化 模块化 - 维护方便)
src之外 - 开发阶段配置文件
关键文件
package.json 包管理文件
scripts 可执行的命令 可以自定义
dependencies 生产依赖 这里面的包参与业务开发最终打包上线 npm i axios 参与打包 运行浏览器
devDependencies 开发依赖 开发阶段生效 不参与打包 npm i sass -D 不参与打包 开发阶段生效团队开发模式下 整个团队要保证每个人在本地依赖的包都是一样的
main.js不写业务代码 全局初始化的事情 初始化三方组件/样式初始化/store/router
全局注册elementui 挂载vuerouter 挂载vuex 渲染app根组件
组件化的开发模式 组件树
vueRouter
如果左 ...
一、Vue原理
响应式系统
学习Vue中如何实现数据的响应式系统,从而达到数据驱动视图。
vue中选项方法
学习watch选项 $watch方法 computed选项 $set方法 $nextTick $mount方法的封装
template 编译过程
学习Vue内部是怎么把template模板编译成虚拟DOM,从而渲染出真实DOM
虚拟 dom 生成与更新
学习什么是虚拟 DOM,以及Vue中的DOM-Diff原理
二、Vue2 学习路线图下面这张流程图中表示了vue的关键部分的执行过程,和核心函数。我们可以根据这样一个过程来自己实现一个vue框架。
通过梳理Vue初始化的过程,我们发现实现一个类似于Vue的框架主要需要实现这几部分 响应式系统框架、虚拟dom编译渲染机制 MVVM更新机制,接下来我们先从最基本的响应式系统开始,自己动手写一个Vue的简单框架
【思考】Vue在初始化的过程中主要经历的哪些步骤
【回答】
1、初始化Vue构造函数,挂载属性 方法
2、模板编译成render函数
3、通过Watcher收集依赖
4、diff更新dom
5、渲染dom
【补 ...
JS设计模式
传送门:wiki-设计模式
传送门:JavaScript设计模式与开发实践
设计模式的指的是:在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。通俗一点说,设计模式就是给面向对象软件开发中的一些好的设计取个名字。
目前说到设计模式,一般指的是《设计模式:可复用面向对象软件的基础》一书中提到的23种常见的软件开发设计模式。
JavaScript中不需要生搬硬套这些模式,咱们结合实际前端开发中的具体应用场景,来看看有哪些常用的设计模式
这一节咱们会学习:
JS中的常用设计模式
设计模式在开发/框架中的应用场景
工厂模式在JavaScript中,工厂模式的表现形式就是一个直接调用即可返回新对象的函数
123456789101112131415// 定义构造函数并实例化function Dog(name){ this.name=name}const dog = new Dog('柯基')// 工厂模式function ToyFactory(name,price){ return { ...
函数柯里化Currying 又译为卡瑞化或加里化,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。
柯里化 作为一种高阶技术, 可以提升函数的复用性和灵活性。
什么是函数柯里化函数柯里化 (Currying) 是一种将多个参数的函数转换为单个参数函数的技术
转换完毕之后的函数:只传递函数的一部分参数来调用,让他返回一个新的函数去处理剩下的参数。
例子:
1234567// 调整函数 sumfunction sum(num1, num2) { return num1 + num2}// 改写为 可以实现如下效果console.log(sum(1)(2))//
核心步骤:
sum改为接收一个参数,返回一个新函数
新函数内部将参数1,参数2累加并返回
12345function sum(num1) { return function (num2) { return num1 + num2 }}
柯里化面试题-全局变量柯里化在面试的时 ...
JS原理知识点自测call🍧apply🍧bind🍧剩余参数🍧Promise🍧URLSearchParams🍧Object.create🍧Object.assign🍧
函数的call方法-文档链接
123456789101112// 以指定的this调用函数,并通过 从第二个参数开始依次传递参数function func(name,drink){ console.log(this) // 指向obj {name: 'kilito'} console.log(name) console.log(drink)}const obj = { name:'kilito'}// call 参数1: this // 参数2: 2-n函数的参数func.call(obj,'kilito','咖啡')
函数的apply方法-文档链接
123456789101112// 以指定的this调用函数,并通过 数组的形式 传递参数fu ...
在nodejs环境中应用并代理跨域**目标**将打包好的代码打包上线,并在nodejs中代理跨域
使用koa框架部署项目
到现在为止,我们已经完成了一个前端工程师的开发流程,按照常规的做法,此时,运维会将我们的代码部署到阿里云的ngix服务上,对于我们而言,我们可以将其部署到本机的nodejs环境中
部署 自动化部署 /手动部署
第一步,建立web服务文件夹 hrServer
1$ mkdir hrServer #建立hrServer文件夹
第二步,在该文件夹下,初始化npm
1$ npm init -y
第三步,安装服务端框架koa(也可以采用express或者egg)
1$ npm i koa koa-static
第四步,拷贝上小节打包的dist目录到**hrServer/public**下
第五步,在根目录下创建app.js,代码如下
12345678const Koa = require('koa') // 引入Koa包const serve = require('koa-static');const app ...