超过了最大调用堆栈大小.递归标签
Maximum call stack size exceeded. recursive tags
我的对象看起来像这样:
<app>
<child opts="{ json }"></child>
<script>
this.json = [
{
text: 'parent',
child: [
{
text: 'child1',
child: {
text: 'child2'
}
}
]
}
];
</script>
</app>
每个孩子都可以有自己的孩子。所以我需要递归标记。这就是我所拥有的:
<child>
<h1>child: { opts.opts.text }</h1>
<div if={opts.opts.child}>
<child opts={opts.opts.child}></child>
</div>
</child>
我得到Maximum call stack size exceeded
。我读到在一个riot js中递归标记是一个问题,但没有找到任何解决方案,或者说它不可能。
我在这里扩展了@Heikki的例子:http://plnkr.co/edit/12AyPoahb9vGOvx06qqv?p=preview
数据的结构有点不同:
this.json = {
text: 'parent',
children: [
{
text: 'child1',
children: [{
text: 'child2',
children: [
{text: 'Inner', children: [
{
text: 'Inner inner',
children: []
},
{
text: 'Inner inner 2',
children: []
}
]}
]
}]
}
]
};
带有更新的子标签:
<child>
<h1>Text: { this.opts.data.text }</h1>
<virtual each={ child in this.opts.data.children }>
<child data="{ child }"></child>
</virtual>
</child>
相关文章:
- 数组在递归方法中设置为null
- Kendo:我该如何在树视图中创建一个递归的hieiarchy
- 递归使用 eval() 是检查程序执行的好方法吗?
- 使用递归、Ramda.js和无点样式重构字符串的getPermutations()
- 递归深度比较
- Eloquent JavaScript递归示例如何终止为返回1,但仍然输出指数值
- 递归函数中断
- 如何递归地获取嵌套对象中所有子对象的列表
- JavaScript 素数搜索无限递归
- 在递归生成器函数中,yield后面的*(星号/星号)语法意味着什么
- 递归|两个函数名
- 有没有一种方法可以在Javascript中进行可变递归currying
- 如何对不同的表递归使用以下代码
- 将jQuery对象传递到setTimeout递归函数中
- 有更好的方法吗?(递归解析HTML unicode实体)
- 为什么递归生成器函数没有't在ES2015工作
- 使用递归实现加性持久性
- 递归显示n元树
- 超过了最大调用堆栈大小.递归标签
- 如何向这个递归标签生成器添加特定的需求?