当前位置: 首页 > ai >正文

vue的实用且常用的各种api

文章目录

  • 1. 实例配置
  • 2. 获取实例或组件
  • 3. 设置属性或方法
  • 4. 生命周期钩子
  • 5. 事件相关
  • 6. 路由相关(如果使用了vue-router)
  • 7. 其他实用API

1. 实例配置

  1. 取消Vue所有日志与警告
Vue.config.silent = true
  1. 配置是否允许 vue-devtools 检查代码,开发版本默认为 true,生产版本默认为 false。
Vue.config.devtools = true
  1. vue在启动时生成生产提示
Vue.config.productionTip = false
  1. 自定义错误处理函数
Vue.config.errorHandler = function (err, vm, info) {// 处理错误,例如记录到日志console.error('Error:', err, 'Info:', info)
}
  1. 自定义警告处理函数
Vue.config.warnHandler = function (msg, vm, trace) {// 处理警告,例如记录到日志console.warn('Warning:', msg, 'Trace:', trace)
}

2. 获取实例或组件

  1. 获取当前组件树的根 Vue 实例。如果当前实例没有父实例,此实例将会是其自己。
this.$root
  1. 获取当前实例的直接子组件
this.$children
  1. 获取当前组件的父实例
this.$parent
  1. 获取注册过ref属性的组件
this.$refs
  1. 获取当前Vue实例的初始化选项
this.$options
  1. 获取当前组件接收到的props对象
this.$props
  1. 获取父组件不作为prop被识别的属性
this.$attrs
  1. 获取父组件的v-on事件监听器
this.$listeners
  1. 获取组件的插槽内容
this.$slots
  1. 获取组件的作用域插槽
this.$scopedSlots
  1. 获取当前实例的DOM元素
this.$el

3. 设置属性或方法

  1. 向响应式对象中添加一个属性,并触发视图更新

参数为,要改变的对象或者数组,要添加的属性名或者索引,要添加的值

this.$set( target, propertyName / index, value )
  1. 向响应式对象中删除一个属性,并触发视图更新

参数为,要删除的对象或者数组,要删除的属性名或者索引

this.$delete( target, propertyName / index )
  1. 手动触发当前实例的更新
this.$forceUpdate()
  1. 手动挂载Vue实例
this.$mount()
  1. 销毁Vue实例
this.$destroy()

4. 生命周期钩子

  1. 实例初始化之后,数据观测和 event/watcher 事件配置之前被调用
beforeCreate() {// 初始化之前的操作
}
  1. 实例已经创建完成之后被调用
created() {// 数据观测、property 和 method 的计算、watch/event 事件回调// 这里可以访问到数据和方法,但DOM尚未挂载
}
  1. 在挂载开始之前被调用:相关的 render 函数首次被调用
beforeMount() {// 模板编译/挂载之前
}
  1. el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子
mounted() {// 模板编译/挂载之后// 这里可以访问到DOM元素
}
  1. 数据更新时调用,发生在虚拟 DOM 打补丁之前
beforeUpdate() {// 数据更新之前
}
  1. 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子
updated() {// 数据更新之后
}
  1. 实例销毁之前调用
beforeDestroy() {// 实例销毁之前
}
  1. Vue 实例销毁后调用
destroyed() {// 实例销毁之后
}

5. 事件相关

  1. 触发当前实例上的事件
this.$emit( eventName, [...args] )
  1. 监听当前实例上的自定义事件
this.$on( eventName, callback )
  1. 监听一个自定义事件,但是只触发一次
this.$once( eventName, callback )
  1. 移除自定义事件监听器
this.$off( [eventName, callback] )

6. 路由相关(如果使用了vue-router)

  1. 获取当前路由
this.$route
  1. 获取路由实例
this.$router
  1. 路由跳转
this.$router.push(location)
  1. 路由替换
this.$router.replace(location)
  1. 路由后退
this.$router.go(n)

7. 其他实用API

  1. 混入 (mixin)
Vue.mixin({// 选项
})
  1. 自定义指令
Vue.directive('name', {// 指令选项
})
  1. 过滤器
Vue.filter('name', function (value) {// 返回处理后的值
})
  1. 组件注册
Vue.component('name', {// 组件选项
})
  1. 插件注册
Vue.use(MyPlugin)
  1. 创建响应式对象
Vue.observable(object)
  1. 异步组件
Vue.component('async-example', function (resolve, reject) {// 异步解析组件定义
})
  1. 全局事件总线
// 创建事件总线
const bus = new Vue()// 发送事件
bus.$emit('event-name', data)// 接收事件
bus.$on('event-name', callback)

本次分享就到这儿啦,我是鹏多多,如果您看了觉得有帮助,欢迎评论,关注,点赞,转发,我们下次见~

往期文章

  • vue中ref的详解以及react的ref对比
  • css使用aspect-ratio制作4:3和9:16和1:1等等比例布局
  • Web前端页面开发阿拉伯语种适配指南
  • flutter-使用extended_image操作图片的加载和状态处理以及缓存和下载
  • flutter-制作可缩放底部弹出抽屉评论区效果
  • flutter-实现Tabs吸顶的PageView效果
  • Vue2全家桶+Element搭建的PC端在线音乐网站
  • 助你上手Vue3全家桶之Vue3教程
  • 超详细!vue组件通信的10种方式
  • 超详细!Vuex手把手教程
  • 使用nvm管理node.js版本以及更换npm淘宝镜像源
  • vue中利用.env文件存储全局环境变量,以及配置vue启动和打包命令

个人主页

  • CSDN
  • GitHub
  • 掘金
http://www.xdnf.cn/news/13616.html

相关文章:

  • Gartner《工业边缘计算Reference Architecture》学习心得
  • Javascript 单例模式
  • springboot3+mybatisplus(5)-backend-mybaitsplus+frontend-router
  • 【Linux开发】海思摄像头内部视频处理模块
  • SiteAzure4.x 版本 访问html静态页文件出现404错误
  • webgl(three.js 与 cesium 等实例应用)之浏览器渲染应用及内存释放的关联与应用
  • Day52打卡 @浙大疏锦行
  • linux驱动开发(7)-互斥与同步
  • 从0到1做一个“任务管理系统”:Spring Boot + Vue 实战教程(含源码)
  • js实现输入高亮@和#后面的内容
  • uniapp 腾讯云 COS 文件管理进阶(文件夹分类与批量操作)
  • ThreadLocal为什么会导致内存泄漏(详细讲解)
  • Android NumberPicker使用大全
  • 数据管理四部曲:元数据管理、数据整合、数据治理、数据质量管控
  • ArcGIS数据管理与转换、地图制作、数据制备、矢量空间分析、栅格空间分析、空间插值、三维分析、高级建模
  • Packagerun:VSCode 扩展 快捷执行命令
  • Python第八周作业
  • ZeroTier+CCproxy+Proxifier实现内网穿透和流量转发
  • 让报表成为生产现场的“神经系统”,推动管理自动化升级
  • 第30节 Node.js C/C++ 插件
  • Appium+python自动化(二十一)- Monkey指令操作手机
  • Vue3+TypeScript实现访问者模式
  • PyTorch深度学习框架60天进阶学习计划-第57天:因果推理模型(二)- 高级算法与深度学习融合
  • ARM 和 x86_64是什么关系
  • 论文阅读:speculative decoding
  • 校赛2025迎新杯题解
  • 欧盟RED网络安全标准EN 18031-2的要求
  • 什么是序列化?反序列化? 场景使用? 怎么实现???
  • 「ECG信号处理——(17)基于小波熵阈值的R峰检测(与时域-频域-多尺度小波法对比)」2025年6月12日
  • Docker 安装 Oracle 12C