Vue3中v-model的变化
Vue2 中的 v-model
Vue 给我们提供了 v-model 指令来实现双向数据绑定,所谓双向数据绑定就是:数据更新元素更新、元素更新数据也会更新。
先回顾一下 Vue2 中的用法:
12345678910111213141516<template> <div id="app"> <input type="text" v-model="value" /> <p>{{ value }}</p> </div></template><script>export default { data() { return { value: "", }; },};</script>
v-model 实际上是一个语法糖,本质上,上面的写法相当于:
1<input ...
setState总结
State
React 组件中的数据可以来源于使用者,也可以组件自身维护。使用者传递的数据就是组件的属性 (props),而组件自身维护的数据就是组件的状态(state)。
React 中的哲学:数据属于谁,谁才有权力更改。
对于使用者传递过来的 props,组件自然是没有权利更改的;对于 state,组件自己自行维护,所以组件自然是有权利更改的。
在表现上,state 和 props 一样都是一个对象,但是 state 仅在类组件中有效。
setState
由于 React 无法监测到组件状态的变化,不像 Vue 实现了数据响应式,这也意味着我们无法直接修改 state 的某个属性值来达到触发组件重新渲染的目的。
12345678910111213141516171819class Demo extends React.Component { state = { a: 1, }; render() { return ( <div> <p> {this.state.a ...
TS中的类型总结
类型约束
TS 是一个可选的、静态的类型系统
类型约束语法:变量: 类型
1let num: number = 1;
TS 在很多时候可以完成类型推导:
1let num = 1;
基本类型
number
string
boolean
symbol
bigint
object
null
undefined
null 和 undefined 是所有类型的子类型,它们可以赋值给其他类型
通过在 tsconfig.json 文件设置 strictNullChecks:true ,可以获得更严格的空类型检查,null 和 undefined 只能赋值给自身。
数组
不建议约束为 [],建议加上数组类型
例如:
1let arr: string[] = [];
这样数组的每一项都只能是字符串
或者使用构造函数和泛型的写法:
1let arr: Array<string> = [];
元组 Tuple
该类型为一个固定长度的数组,并且数组中每一项的类型确定
例如:
123let x: [string, number];x = ['q', 1]; // ...
跨域问题
同源策略
同源策略是一个重要的安全策略,它用于限制一个origin的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介。
同源:两个 URL 的协议、域名、端口都相同的话,就是同源。
同源策略是一个保障我们信息的安全策略,目的是为了保证用户信息的安全,防止恶意的网站窃取数据。
同源策略的限制
1995年,同源政策由 Netscape 公司引入浏览器。目前,所有浏览器都实行这个政策。
最初,它的含义是指,A 网页设置的 Cookie,B 网页不能打开,除非这两个网页“同源”。
目前,同源策略共有三种行为受到限制:
无法读取非同源网页的 Cookie、LocalStorage 和 IndexedDB
无法接触非同源网页的 DOM
无法向非同源地址发送 Ajax 请求(可以发送,但浏览器会拦截响应不会给你数据)
跨域解决方案
JSONP
浏览器能够发送 HTTP请求的方式:
直接在浏览器的地址栏输入地址
利用 location.href 直接改变 URL 进行跳转
带有 src、href 等属性的元素
表单的提交
Ajax
除了 ...
JWT是什么
JWT 概述
JWT 全称 Json Web Token,强行翻译就是 json 格式的网络令牌,可以看出来 JWT 是一个令牌。
令牌的作用是什么?令牌一般用来验证身份,和 cookie 的作用相同,JWT 就是用来做这件事的。
都有 cookie 了,为什么还要有 JWT?
存在的问题
随着前后端分离的发展,以及数据中心的建立,越来越多的公司会创建一个中心服务器,服务于各种产品线。
而这些产品线上的产品,它们可能有着各种终端设备,包括但不仅限于浏览器、桌面应用、移动端应用、平板应用、甚至智能家居。
一般来说,中心服务器至少承担着认证和授权的功能,例如登录:各种设备发送消息到中心服务器,然后中心服务器响应一个身份令牌。
当这种结构出现后,就出现一个问题:它们之间还能使用传统的 cookie 方式传递令牌信息吗?
因为 cookie 在传输中无非是一个消息头而已,当然可以。但是除了浏览器对 cookie 有完善的管理机制,其他设备上就需要开发者自己手动处理。
JWT 的出现就是为了解决这个问题,JWT 要解决的问题,就是为多种终端设备,提供统一的、安全的令牌格式。
使用
JW ...








