为什么我从ractive.js 0.3.9迁移到0.5.5时出现错误:“尝试取消渲染未渲染的片段”

时间:2014-07-15 18:23:43

标签: migration javascript template-engine ractivejs

我有一个很长的,复杂的和一些脏的模板,在0.3.9中工作正常,但在0.5.5中没有,我得到错误:“试图取消渲染未渲染的片段”。

我的模板非常复杂,但我可以重现一个在0.3.9但不在0.5.5中的切片。

这是在0.3.9:http://jsfiddle.net/Katio/ujx2e/

中的正常工作方式

0.5.5中的此模板显示了上述错误:http://jsfiddle.net/Katio/W3Lus/

Attempted to unrender a fragment that was not rendered

编辑1:

Thaylon在Github的Ractive项目中开启了一个问题: https://github.com/ractivejs/ractive/issues/1003

1 个答案:

答案 0 :(得分:1)

我必须承认,我不确定问题的根源是什么。

然而,更改模板中第33行的开头:

{{^.responsable}}<span class="redOutline" data-validationmess="Solicitud ({{num+1}}) '{{../../nombreSubdata.values[0]}}', secci&oacute;n '{{nombre.values[0]}}', responsable no asignado.">(responsable no asignado)</span>{{/.responsable}}

为:

{{^responsable}}<span class="redOutline" data-validationmess="Solicitud ({{num+1}}) '{{../../nombreSubdata.values[0]}}', secci&oacute;n '{{nombre.values[0]}}', responsable no asignado.">(responsable no asignado)</span>{{/responsable}}

它将呈现。

http://jsfiddle.net/W3Lus/2/

修改

显示错误的一个非常小的例子是:http://jsfiddle.net/W3Lus/9/

删除任何部分,甚至是静态<option>,它都会渲染。

看起来你做错了什么,似乎是一个错误。

修改

我假设将select值绑定到{{.responsable}},当它没有解析为任何东西时,导致这个,只要select中有任何实际绑定到不存在值的选项。

修改

具有不同错误结果的最小示例: http://jsfiddle.net/W3Lus/13/ http://jsfiddle.net/W3Lus/12/

一个人根本不渲染,另一个人不会渲染它应该的部分。