「这是我参与11月更文挑战的第7天,活动详情查看:2021最后一次更文挑战」。
今天的主角仍是Vue,快来康康今天涉及到了vue哪些知识点吧~
1、computed与watch
computed计算属性: 内部有缓存机制,不支持异步,当computed内有异步操作时无效,无法监听数据的变化,如果多次使用,只执行一次,相对数据进行加功但是不想损坏原数据时,可选择计算属性,只读不改,可以写为简写
fullName(){
return ***;
}
watch事件监听,不支持缓存,数据变,直接会触发相应的操作,且支持异步操作。
深度监听: vue中的watch默认不检测对象内部值的变化(一层),配置deep:true可以检测对象内部值改变(多层)
2、Vue监视数据的原理
-
vue会监视data中所有层次的数据; -
监听对象中的数据, 通过setter实现数据 监视,且要在new之前传入要监视的数据- 若是对象中后追加的属性,vue不会做响应式处理;
- 如需给后面添加的属性做响应式,可通过API:Vue.set(target, propertyName/index, value)或vm.$set(target, propertyName/index, value)
-
监听数组中的数据,通过包裹数组更新元素的方法实现- 调用原生对应的数组进行更新,只有使用修改原数组的方法才能被监听到,如push、pop、unshift、shift、sort、splice、reverse、Vue.set、vm.$set
- 重新解析模板,进而更新页面
3、指令集合
Vue中的指令有:v-bind、v-model、v-for、v-on、v-if、v-else、v-show、
v-text:渲染文本内容,会替换节点中的内容,但是{{xxx}}不会
v-html: 支持结构解析,会替换内容,动态渲染html,容易导致ssr攻击
v-clovk没有值,特殊属性,Vue实例接管容器后,会删除v-clock属性,配合css可以解决网速慢时页面展示出{{xxx}}的问题
v-once没有值,初次动态渲染后,被视为静态内容了
v-pre跳过其所在的编译过程,可以利用它跳过没有使用指令语法,没有使用插值语法的节点,会加快编程。
好啦,今天的内容就这些啦,还有很多不足的地方,很多知识点还不知道,继续加油哦!