1. 路由跳转
| <script setup> |
| import { useRouter } from "vue-router"; |
| const router = useRouter(); |
| function toDetail() { |
| router.push({ |
| path: "/detail", |
| }); |
| } |
| </script> |
2. 注册全局property
| |
| import utils from "./utils/utils.js"; |
| app.config.globalProperties.$utils = utils; |
| |
| <script setup> |
| import { getCurrentInstance } from "vue"; |
| const { proxy } = getCurrentInstance(); |
| const $utils = proxy.$utils; |
| </script> |
3. 通过ref获取dom
| |
| <div ref="theDom"></div> |
| this.$refs.theDom |
| |
| |
| <div ref="theDom"></div> |
| |
| import { ref } from 'vue' |
| const theDom = ref(null) |
| |
4. directive
| |
| import Vue from 'vue' |
| Vue.directive('my-directive', { |
| bind() {}, |
| inserted(el, binding, vnode, oldVnode) {}, |
| update() {}, |
| componentUpdated() {}, |
| unbind() {} |
| }) |
| |
| |
| import { createApp } from 'vue' |
| const app = createApp({}) |
| app.directive('my-directive', { |
| beforeMount() {}, |
| mounted(el, binding, vnode, oldVnode) {}, |
| beforeUpdate() {}, |
| updated() {}, |
| beforeUnmount() {}, |
| unmounted() {} |
| }) |
| |
| import directives from "./utils/directives.js"; |
| app.use(directives); |
5. 父组件调用子组件内部定义的方法
详细地址
6. 图片的动态引入
| |
| require("@/assets/images/xxx.png") |
| |
| |
| new URL("@/assets/images/xxx.png", import.meta.url).href |
7. 获取slot内容
| |
| this.$slots[slotName] |
| |
| |
| |
| $slots[slotName] |
| |
| import { useSlots } from "vue" |
| let slot = useSlots() |
8. 清除响应式对象
| let obj = reactive({ count: 0 }) |
有以下方法:
| |
| for (const key in obj) { |
| delete obj[key]; |
| } |
| |
| let keysArray = Object.keys(obj); |
| for (const key in keysArray) { |
| obj[key] = ""; |
| } |
9. 父子组件传参
父传子
| |
| <parent-component :data="[1, 2, 3]"></parent-component> |
| |
| |
| defineProps({ |
| data: { |
| type: Array, |
| default: [], |
| }, |
| }); |
子传父
| |
| <parent-component @sendData="sendData"></parent-component> |
| const sendData = (params) => { |
| console.log(params); |
| }; |
| |
| |
| const emit = defineEmits(["sendData"]); |
| const fn = () => { |
| emit("sendData", []); |
| }; |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程