我是Vue的新手,所以道歉是一个显而易见的问题。
目前,我有一个组件可以搜索其插槽以查找特定组件并构建Vnode数组。
我有一个看起来像这样的渲染函数:
render(createElement){
createElement("div", {}, this.vnodeArray);
}
我现在的问题是基本上我想调用数组内部组件的函数。基本上,如果可以的话,我想做类似this.vnodeArray[1].function()
的事情。但这似乎不可能
我尝试过的解决方案是: 向Vnodes添加一个引用,并通过ref调用函数
beforeMount() {
for(val i =0; i<vnodeArray.length; i++){
if(typeof vnodeArray[i].data !== "undefined") vnodeArray[i].data.ref = "page"+i;
else vnodeArray[i].data = {ref: "page"+i};
}
}
//Skip to when I want to call function from component that is vnode
(this.$refs["page2"] as any).validate()
即使在添加引用后,在控制台上也遇到了类似于Can not call validate on undefined
的错误,尽管我已经在console.log中记录了vnode的数据对象,并且它们似乎显示了引用的变化。
尽管我是新手,但我愿意接受任何人可能拥有的任何意见/建议/提示 谢谢您的时间