vue2.0 中如何在父组件中调用子组件的自定义事件

如下代码,我想在组件中去调用实例的私有方法,在vue1.0中可以在组件中通过this.$dispatch('childAction');去实现,但是vue2.0版本中就不行了,通过$eimt也不能完全实现这种用法,求问,这种情况该怎么办呢?我有一种笨方法,就是通过实例传递不同的props来在组件中调用对应的方法,但是这种自由度不高,所以求教大家有没有更好的方法~

Vue.component('pagination', {
    ……
    methods: {
        action: function() {
            //doSomething
            //我想在这里去调用子组件的私有方法childAction
                      
        }
    }
});

var vm=new Vue({
    el:'#test',
    methods:{
        childAction: function(){
            //doSomething
        }
    }
})
阅读 2.9k
1 个回答

试试 this.children[idx].childAction,前提是你有一个获取正确的子组件的序号的途径。

另外,你这里的子组件概念是否有问题,如果是要实现分页组件中调用父组件中获取 上一页/下一页 内容的方法,可以参考 https://raw.githubusercontent...

其中的 gotoPage prop 是一个由父组件传递给子组件的 Function,可以在子组件中被调用。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题