在工作中,我们正在使用VueJS,我们希望使用2D数组中的内容渲染一个元素。这需要2个循环来迭代,这是模板无法实现的。我们发现我们可以使用render()
函数执行此操作。
我们的代码(但简化了一点)是:
export default {
name: 'od-table',
data() {
return {
testData: []
}
},
render() {
console.log("render function")
}
};
当我们在项目中包含此组件时,不会调用render函数。我可以看到组件已加载,因为我可以读取测试数据。没有日志或任何其他符号已调用render
函数。
这可能是一个明显的错误,因为我们之前从未有过这个工作,但由于这是我们必须使用的问题,我们想知道代码有什么问题。
答案 0 :(得分:0)
您使用render
的任何特殊原因?您可能正在寻找mounted
。
以下是Vue.js 2.0的生命周期挂钩的完整列表。 https://vuejs.org/v2/api/#Options-Lifecycle-Hooks
答案 1 :(得分:0)
我仍然不知道出了什么问题,但删除组件并在新文件中复制旧代码似乎解决了这个问题。
答案 2 :(得分:0)
鉴于当您从头开始重新创建组件文件时它起作用了,问题可能出在原始文件中,您错误地留下了一个部分。那就是我发生的事情。如果您的组件带有自己的<template>
,它将用于呈现,而您的render()
函数将永远不会被调用。