您当前的位置:首页 > 网站建设 > javascript
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax |

Vue子组件调用父组件方法案例详解

51自学网 2022-05-02 21:31:40
  javascript

一、直接在子组件中通过this.$parent.event来调用父组件的方法

<!-- 父组件 --><template>	<div>		<child></child>	</div></template><script>import child from '~/components/dam/child';export default {	components: {		child	},	methods: {		fatherMethod () {			console.log('测试');		}	}};</script>
<!-- 子组件 --><template>  <div>    <button @click="childMethod()">点击</button>  </div></template><script>  export default {    methods: {      childMethod() {        this.$parent.fatherMethod();      }    }  };</script>

二、在子组件里用$emit向父组件触发一个事件,父组件监听这个事件

<!-- 父组件 --><template>	<div>		<child @fatherMethod="fatherMethod"></child>	</div></template><script>import child from '~/components/dam/child';export default {	components: {		child	},	methods: {		fatherMethod () {			console.log('测试');		}	}};</script>
<!-- 子组件 --><template>	<div>		<button @click="childMethod()">点击</button>	</div></template><script>export default {	methods: {		childMethod () {			this.$emit('fatherMethod');		}	}};</script>

三、父组件把方法传入子组件中,在子组件里直接调用这个方法

<!-- 父组件 --><template>	<div>		<child :fatherMethod="fatherMethod"></child>	</div></template><script>import child from '~/components/dam/child';export default {	components: {		child	},	methods: {		fatherMethod () {			console.log('测试');		}	}};</script>
<!-- 子组件 --><template>	<div>		<button @click="childMethod()">点击</button>	</div></template><script>export default {	props: {		fatherMethod: {			type: Function,			default: null		}	},	methods: {		childMethod () {			if (this.fatherMethod) {				this.fatherMethod();			}		}	}};</script>

到此这篇关于Vue子组件调用父组件方法案例详解的文章就介绍到这了,更多相关Vue子组件调用父组件方法内容请搜索wanshiok.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持wanshiok.com!


npm设置同时从多个包源加载包的方法
Vue.js directive自定义指令详解
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1