vue里面的一些高级特性

$nextTick

vue是异步渲染的、data改变之后Dom不会立即渲染、而$nextTick会在DOM渲染之后被触发、以获取最新的DOM节点。 页面渲染的时候将整个data的修改做整个,多次data修改只会渲染一次。this.$ref获取dom元素。

slot

基本使用:从父组件添加子组件,通过solt放到子组件的指定位置。场景子组件是一个公用的组件,提供一些通用的功能。 作用域插槽:父组件通过slot获取子组件中的值 使用v-solt,就是子作用域的data传到父作用域中使用。 具名插槽:就是插槽外部包裹了语义化标签比如〈header〉里面包裹一个slot

动态组件

用法::is="component-name" 场景:需要根据数据、动态渲染场景。既组件类型不确定性。列入今日头条的新闻详情页,内容有text、图片、视频、但是这里的排序不是确定的、是动态变化的。

异步加载组件

css 复制代码
conmponents:{
    formDome:() => import('../BaseUse/FormDemo')
}

如何缓存组件

场景切换频繁、不需要重复渲染,渲染内容多,如果渲染内容少可以直接用v-show。缓存可以减少事列的渲染和销毁的次数。

〈keep-alive〉标签

mixin混入

作用:多个组件有相同的逻辑,抽离出来。

缺点:mixin 并不是完美的解决方案,会有一些问题,比如在多个组件对多个业务的时候,会让代码不好理解与维护比如data数据冲突,函数命名冲突等。在vue3中Composition API解决了这个问题。

自己实现一个v-model

dart 复制代码
<input type="text"  :value="text" @input="$emit('change',$event.target.value)"></input>


//首先定义一个
props:{
    text:String,
    default(){
       return:''
    }
}
model:{
    prop:'text',//对应props text
    event:'change'
}
相关推荐
浪裡遊4 分钟前
Next.js路由系统
开发语言·前端·javascript·react.js·node.js·js
mapbar_front8 分钟前
职场中的顶级能力—服务意识
前端
尽兴-44 分钟前
[特殊字符] 微前端部署实战:Nginx 配置 HTTPS 与 CORS 跨域解决方案(示例版)
前端·nginx·https·跨域·cors·chrom
JIngJaneIL1 小时前
助农惠农服务平台|助农服务系统|基于SprinBoot+vue的助农服务系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·毕设·助农惠农服务平台
云外天ノ☼2 小时前
待办事项全栈实现:Vue3 + Node.js (Koa) + MySQL深度整合,构建生产级任务管理系统的技术实践
前端·数据库·vue.js·mysql·vue3·koa·jwt认证
沐怡旸2 小时前
【穿越Effective C++】条款15:在资源管理类中提供对原始资源的访问——封装与兼容性的平衡艺术
c++·面试
一位搞嵌入式的 genius2 小时前
前端实战开发(三):Vue+Pinia中三大核心问题解决方案!!!
前端·javascript·vue.js·前端实战
塞纳河畔的歌2 小时前
保姆级教程 | 麒麟系统安装Edge浏览器
前端·edge
多睡觉觉2 小时前
数据字典:从"猜谜游戏"到"优雅编程"的奇幻之旅
前端
嗝屁小孩纸2 小时前
开发集成热门小游戏(vue+js)
前端·javascript·vue.js