调用方法:1、在父组件中,通过ref直接调用子组件的方法;2、在父组件中,通过组件的“$emit”、“$on”方法来调用。
本教程操作环境:windows7系统、vue2.9.6版,DELL G3电脑。
Vue项目中如何在父组件中直接调用子组件的方法:
方案一:通过ref直接调用子组件的方法;
//父组件中 <template> <div> <Button @click="handleClick">点击调用子组件方法</Button> <Child ref="child"/> </div> </template> <script> import Child from './child'; export default { methods: { handleClick() { this.$refs.child.sing(); }, }, } </script> //子组件中 <template> <div>我是子组件</div> </template> <script> export default { methods: { sing() { console.log('我是子组件的方法'); }, }, }; </script>
方案二:通过组件的$emit、$on方法;
//父组件中 <template> <div> <Button @click="handleClick">点击调用子组件方法</Button> <Child ref="child"/> </div> </template> <script> import Child from './child'; export default { methods: { handleClick() { this.$refs.child.$emit("childmethod") //子组件$on中的名字 }, }, } </script> //子组件中 <template> <div>我是子组件</div> </template> <script> export default { mounted() { this.$nextTick(function() { this.$on('childmethods', function() { console.log('我是子组件方法'); }); }); }, }; </script>
相关推荐:《vue.js教程》
以上是vue父组件怎么调用子组件的方法的详细内容。更多信息请关注PHP中文网其他相关文章!