Vue Render 事件传递

clipboard.png

如图, 我想在这个renderclick事件中执行 父级组件中的函数,请问如何实现。这里面this都获取不到。

阅读 9.4k
2 个回答

碰巧我做过 直接上图吧图片描述

打印这个参数你就明白了

可以,我在项目用过类似的用法,部分源码(部分手敲,看思想):
function createDiv(createElement,vm){
return createElement('article',[vm.items.map(function(item){

        return createElement('div',{
            attrs:{
                class:'arclist'
            },                    
            on:{
                click:function(event){
                    /*考虑这里是否需要冒泡*/
                 //   event.stopPropagation();
                    vm.gotodetail(item.index)
                }
            }
        },[infoTemp(item),titleTemp(item.title)]);
    })]
    );
}
而在构造component实例中,做了这样的调用:
const Foo = { 
    render:function(createElement){
        return createDiv(createElement,this);//
     },
     methods:{
     gotodetail:function(index){
      console.log(index);
     }
    }

}
所以,我觉得你的this传入应该有问题

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