vuejs,如何在父组件调用子组件的方法?
vuejs,如何在父组件调用子组件的方法,即在父组件点击按钮,弹出一个模态框,然后进行ajax请求,ajax请求方法写在子组件模态框中。求指导啊
父组件的点击方法
子组件的ajax请求
他俩之间的通信不会弄了。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
vuejs,如何在父组件调用子组件的方法,即在父组件点击按钮,弹出一个模态框,然后进行ajax请求,ajax请求方法写在子组件模态框中。求指导啊
父组件的点击方法
子组件的ajax请求
他俩之间的通信不会弄了。。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(9)
可以用事件方式:
$emit
和$on
在父组件里通过
$refs
拿到子组件,然后调用$emit
方法通知子组件在子组件里通过
$on
方法监听上一步广播的事件名,然后在callback
里发你的ajax
就好了当然,如果你熟悉vuex,用这个也很好!
补充:
为了方便理解,给你一个简单的示意demo吧: plunker
其实不用去注册事件,有ref,就可以直接拿到子组件的所有的方法(vue2):
child1.vue
parent.vue
vue2 可以直接在父组件中使用this.$refs访问子组件并调用其接口,比如this.$refs.child.childFn()
方法1: 用prop
父:
子:
方法2: 参考官方 http://cn.vuejs.org/api/#vm-dispatch
vm.$broadcast
http://www.zhihu.com/question/35820643
@leftstick 提拱的方法可行!
如果是子组件的子组件呢 父组件要如何调用他的方法呢
this.$refs.child.$emit('click-child');
这种方式也不太好。如果一个页面上有多个child实例要同时更新呢?还需要挨个来更新。是不是可以使用this.$broadcast来做。