首页 > vuejs,如何在父组件调用子组件的方法?

vuejs,如何在父组件调用子组件的方法?

vuejs,如何在父组件调用子组件的方法,即在父组件点击按钮,弹出一个模态框,然后进行ajax请求,ajax请求方法写在子组件模态框中。求指导啊
父组件的点击方法

子组件的ajax请求

他俩之间的通信不会弄了。。


可以用事件方式: $emit$on

  1. 在父组件里通过$refs拿到子组件,然后调用$emit方法通知子组件

  2. 在子组件里通过$on方法监听上一步广播的事件名,然后在callback里发你的ajax就好了

当然,如果你熟悉vuex,用这个也很好!

补充:

为了方便理解,给你一个简单的示意demo吧: plunker


方法1: 用prop
父:

<comp :method="method"></comp>

{
methods: {
   method: function(){
    ....
   }
}
}

子:

<div @click="click">点击</div>

{
props: ['method'],
methods: {
   click: function(){
       this.method()
   }
}
}

方法2: 参考官方 http://cn.vuejs.org/api/#vm-dispatch


vm.$broadcast


http://www.zhihu.com/question/35820643

【热门文章】
【热门文章】