This time I will bring you what are the methods for the vue parent component to call the subcomponent, and what are theprecautionsfor the vue parent component to call the subcomponent. The following is a practical case, let's take a look.
Scenario:
Introducing the sub-component ofUploadattachments into the parent component: Click on the component to upload the corresponding requirements respectively Pictures, sub-component internal loops can create multiple modules.
The parent component passes an array into the sub-component loop to create different component modules, and alleventsare inside the sub-components.
There is also an upload image button at the top of the parent component page. After uploading the image, it will be displayed in the first module:
Imagine Idea: Click the button in the parent component to trigger the upload method in the child component:
Defineref="refName" on the child component,
usethis.$refs in the method of the parent component .refName.method
To call the subcomponent method
The method of processing upload in the subcomponent:
fileClick(index) { console.log('子组件的fileClick被调用了') console.log('index: '+index) // this.aaa(); if(!this.fileInfor[index].imgUrl){ //如果当前框里没有图片,则实现上传 document.getElementsByClassName('upload_file')[index].click(); } },
The parent component template
上传图片
The method defined in the parent component method, At the same time, pass in the corresponding index value.
Upload(){ // console.log('父组件的xiechengUpload被调用了') this.$refs.uploadRef.fileClick(0); },
At this time, you can put the image into the first module of the subcomponent through the upload button.
See below Next, Vue parent component calls child component events
Vue parent component passes events/calls events to child components
It is not about passing data (props), it is suitable for Vue 2.0
Method 1: The child component listens to the method sent by the parent component
Method 2: The parent component calls the child component method
Child component:
export default { mounted: function () { this.$nextTick(function () { this.$on('childMethod', function () { console.log('监听成功') }) }) }, methods { callMethod () { console.log('调用成功') } } }
Parent component:
export default { methods: { click () { this.$refs.child.$emit('childMethod') // 方法1 this.$refs.child.callMethod() // 方法2 }, components: { child: child } }
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!
Recommended reading:
How to achieve result highlighting during global search
Angular4’s router attribute use case detailed explanation
The above is the detailed content of What methods do Vue parent components use to call child components?. For more information, please follow other related articles on the PHP Chinese website!