1. Vue2 syntaxAfter setting the ref attribute on the component in vue2 syntax, the corresponding subcomponent can be accessed through the this.$refs.ref value in the code. A component that sets a ref value: <base-input ref="usernameInput"></base-input> In the js code, you can access this component through the following code: this.$refs.usernameInput You can call the method inside: // Assume that the base-input component has method foo this.$refs.usernameInput.foo(); For detailed usage, please refer to the reference articles listed at the bottom. 2. Use of Vue3I found some scattered articles on the Internet, and none of them worked after I tried them, but I learned some key information from these articles, and finally sorted out the following steps: 1. Set the ref value of the componentThis is similar to vue2, where the parent component sets the ref value when calling the child component. <ChildVue ref="childRef" /> 2. Obtaining component instancesAfter the setting is completed, vue3 can be obtained through the ref method. const childRef = ref(); The name of the variable here needs to be consistent with undefined Because the page component has not been mounted yet, it needs to be mounted before it can be used normally. onMounted(() => { console.log(childRef.value); // Proxy {…} }); 3. Set public variables in subcomponents After getting the subcomponent instance in step 2 above, you cannot use the methods in the subcomponent because the component using // Subcomponent code const foo = () => { console.log("foo"); } defineExpose({ foo }); Call in parent component: // Call child component method childRef.value.foo(); // foo In this way, you can call the method of the subcomponent. Look at childRef.value and you can see the public foo method: Vue3 parent component calls child component method Complete reference code: Parent component: <template> <ChildVue ref="childRef" /> </template> <script setup lang="ts"> import { ref } from '@vue/reactivity'; import { onMounted } from '@vue/runtime-core'; import ChildVue from './Child.vue'; const childRef = ref(); console.log(childRef.value); // undefined onMounted(() => { console.log(childRef.value); // Proxy {…} // Call child component method childRef.value.foo(); // foo }); </script> <style> </style> Subcomponents: <template>child demo</template> <script setup lang="ts"> const foo = () => { console.log("foo"); } defineExpose({ foo }); </script> <style> </style> This is the end of this article about the use of $refs based on script setup syntax in Vue3. For more information about the use of $refs in Vue3, please search previous articles on 123WORDPRESS.COM or continue to browse the related articles below. I hope you will support 123WORDPRESS.COM in the future! You may also be interested in:
|
<<: MySQL series of experience summary and analysis tutorials on NUll values
>>: 11 common CSS tips and experience collection
How to Install GRUB for Linux Server You cannot u...
Today I will talk about a CSS special effect of h...
This article example shares the specific code of ...
This article example shares the specific code of ...
Table of contents Previous 1. What is setup synta...
Table of contents 1. Merge arrays 2. Merge arrays...
Shell Script #!/bin/sh # Current directory CURREN...
A simple license plate input component (vue) for ...
Table of contents Creating HTML Pages Implement t...
The custom encapsulation code of the vue button c...
1. Introduction People who are not used to Englis...
Table of contents introduce Link start Continue t...
Table of contents 1. Variables Use meaningful nam...
When using CSS pseudo-elements to control element...
<br />Related articles: 9 practical suggesti...