vue 父组件中的事件可以直接挂在子组件吗?

比如我在父组件中传一个方法,但是在子组件中执行,应该怎么做呢?不使用$emit方式

至尊宝的传说
浏览 470回答 1
1回答

繁星点点滴滴

方法有多种,比较常用的是在子组件的porps定义个Function参数,父组件把方法当参数传入子组件代码片段export&nbsp;default&nbsp;{ &nbsp;&nbsp;name:&nbsp;'Children', &nbsp;&nbsp;props:&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;parentMethod:&nbsp;Function, &nbsp;&nbsp;}, &nbsp;&nbsp;methods:&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;onClick()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.parentMethod(); &nbsp;&nbsp;&nbsp;&nbsp;},父组件代码片段<template> &nbsp;&nbsp;<children&nbsp;:parent-method="testMethod"></children></template><script> &nbsp;&nbsp;export&nbsp;default&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;methods:&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;testMethod()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log('test'); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},这样当子组件触发onClick就调用父组件的testMethod,流程虽然比不上$on+$emit清晰,但是可维护性还是挺高的
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Vue.js