深度选择器的使用场景一般是 修改第三方UI组件库
,如vant,elementUI,antd,同时页面中又使用了 scoped
>>>
原生css式样使用 >>>
<style scoped>
.myclass >>> .el-tag {
// 样式
}
</style>
深度选择器的使用场景一般是 修改第三方UI组件库
,如vant,elementUI,antd,同时页面中又使用了 scoped
原生css式样使用 >>>
<style scoped>
.myclass >>> .el-tag {
// 样式
}
</style>
<u-icon />
上的class、style无效传统的网页根据用户访问的不同的地址,浏览器从服务器获取对应页面的内容展示给用户。这样造成服务器压力比较大,而且用户访问速度也比较慢。
hash模式就是通过监听浏览器的hash值(锚点)来实现前端渲染;
history模式是通过操作浏览器的历史记录并监听这个动作来实现前端渲染。浏览器每访问一个地址,都会在浏览器栈里存入路径记录。
location.hash始终指向页面url中#之后的内容,用来修改浏览器的地址;
hashchange来监听变化做出相应渲染
相同点
不同的
语法
vue-原生语法、react-JSX语法数据绑定
vue-v-model双向绑定、react-setState单向流动props
vue-props直接写、react-需要引入prop-typesDOM更新策略
react自顶向下重新渲染render树条件渲染
vue-v-if、react-借助三元运算符,逻辑性更强兄弟组件通信
vue-eventBus-on/emit、react-subscribe/publish路由信息
vue-组件里获取this.$route、react-路由组件里获取this.props.history/location/match,一般组件没有css作用域
vue-scoped、react-module(仅选择器,原生标签不行)概念
Promise 本身是同步的立即执行函数, 当在 executor 中执行 resolve 或者 reject的时候, 此时是异步操作,会先执行then/catch等,当主栈完成后, 才会去调用 resolve/reject 中存放的方法执行。
async/await
async 函数返回一个 Promise 对象,当函数执行的时候,一旦遇到 await 就会先返回,等到触发的异步操作完成,再执行函数体内后面的语句。可以理解为,是让出了线程,跳出了 async 函数体。
Async/Await 就是一个自执行的 generate 函数。利用 generate 函数的特性把异步的代码写成“同步”的形式,第一个请求的返回值作为后面一个请求的参数,其中每一个参数都是一个 promise 对象.
静态方法
概念
特点
总结
on
beforeCreate
和 created
包含在 setup
函数中beforeDestroy
改为 onBeforeUnmount
,destroyed
改为 onUnmounted
开发的时候我们会用框架如Vue、React,ES6模块语法、Promise,开发样式使用LESS、SASS预处理器,这些代码是不能被浏览器识别的,如果要运行,就必须经过编译。
在一段时间内,事件只会触发一次
前端兼容性问题分三类
浏览器兼容问题
屏幕分辩兼容问题