Защо получавам грешката: Опит за премахване на изобразяване на фрагмент, който не е изобразен при мигриране от ractive.js 0.3.9 към 0.5.5

Имам дълъг, сложен и малко мръсен набор от шаблони, който работи добре в 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 отвори проблем в проекта Ractive в Github: https://github.com/ractivejs/ractive/issues/1003


person Johann Echavarria    schedule 15.07.2014    source източник


Отговори (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}}

to:

{{^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>, ще се изобрази.

Не изглежда, че правите нещо нередно, изглежда е грешка.

Редактиране

Предполагам, че обвързването на избраната стойност към {{.responsable}}, когато не се разрешава към нищо, причинява това, стига да има някаква опция в селектирането, която всъщност би била обвързана с несъществуващата стойност.

Редактиране

Минимални примери с различни резултати с грешки: http://jsfiddle.net/W3Lus/13/ http://jsfiddle.net/W3Lus/12/

Единият няма да изобрази изобщо, другият няма да изобрази част, която трябва.

person Thaylon    schedule 16.07.2014
comment
Премахнахте точка и шаблонът се изобразява! Въпреки това точката е много важна за валидирането в шаблона, защото трябва да валидира всеки елемент в масив. Както и да е, хубаво е, че сте намерили точния ред в шаблона с проблема. - person Johann Echavarria; 16.07.2014
comment
След вашето откритие се опитах да създам по-малка версия на проблема, която го изолира. Така че отново използвах ^dot {{^.responsable}} с 0.5.5, но работи добре jsfiddle.net /W3Lus/5 Не разбирам - person Johann Echavarria; 17.07.2014
comment
Вмъкнах оригиналната част в новия ви пример и грешката отново е там. jsfiddle.net/W3Lus/7 - person Thaylon; 17.07.2014
comment
Благодаря ти. Вие отговорихте на въпроса ми, сега изглежда, че има грешка в 0.5.5, защото вашият минимален пример работи добре във версия 0.3.9: jsfiddle.net/W3Lus/16, но показва грешката Опит за премахване на изобразяване на фрагмент, който не е изобразен в 0.5.5: jsfiddle.net/W3Lus/13 - person Johann Echavarria; 18.07.2014