This time I will show you how to operate the vue parent component to call the subcomponent, and what are the precautions for using the vue parent component to call the subcomponent. The following is a practical case, let's take a look.
Scenario:
Introducing the sub-component of The parent component passes an array into the sub-component loop to create different component modules, and alleventsare inside the sub-component.
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, use
this.$refs in the method of the parent component .refName.methodTo call the subcomponent method
fileClick(index) { console.log('子组件的fileClick被调用了') console.log('index: '+index) // this.aaa(); if(!this.fileInfor[index].imgUrl){ //如果当前框里没有图片,则实现上传 document.getElementsByClassName('upload_file')[index].click(); } },
<template> <x-button type="submit" class="custom-primary" @click.native="xiechengUpload">上传图片</x-button> <up-load :fileInformation="fileInformation" ref="uploadRef"></up-load> </template>
Upload(){ // console.log('父组件的xiechengUpload被调用了') this.$refs.uploadRef.fileClick(0); },
See below Next, Vue parent component calls child component events
Vue parent component passes events/calls events to child componentsIt is not about passing data (props), it is suitable for Vue 2.0Method 1: The child component listens to the method sent by the parent componentMethod 2: The parent component calls the child component methodChild component:export default { mounted: function () { this.$nextTick(function () { this.$on('childMethod', function () { console.log('监听成功') }) }) }, methods { callMethod () { console.log('调用成功') } } }
<child ref="child" @click="click"></child> export default { methods: { click () { this.$refs.child.$emit('childMethod') // 方法1 this.$refs.child.callMethod() // 方法2 }, components: { child: child } }
How to use the diff algorithm within vue
JavaScript EventEmitter underlying logic analysis
The above is the detailed content of How to operate vue parent component to call child component. For more information, please follow other related articles on the PHP Chinese website!