Здравствуйте.
Пытаюсь перейти на v6, не могу победить ошибку:
*
*
Это из-за проверки на закрытие html тегов в шаблонных литералах?
Все шаблоны отдают нормальный html, уже отлажено в v5.
Подскажите, пожалуйста, как можно отключить эту проверку html?
И как можно это отладить, как понять в каком месте проблема?
Спасибо.
1 Like
Да, это из-за этого. Отключить нельзя, так как компилятор просто не сможет скомпилировать шаблон.
Искать теги, скорее всего теги <br>
, <img>
и <input>
А как быть, если в условии, только начало HTML тега?
${a?<div>:<span>}
их тоже самозакрывать надо?
Как правильно записать такое условие?..
${list.smart?'</div></a>':‘${list.func?'</a>':'</div>'}‘}
Добавление $h
перед каждой литеральной строкой в каждом условии ${a?string:string}
накладное нововведение, надо переписывать все шаблоны, десятки условий и вложенные в друг друга типа <div ${a?${b?...:...}:${c?...:...}}>
, которые уже отлажены в v5.
Вообще, было бы здорово без данной компиляции обойтись, чтобы смягчить переход на v6…
P.S. Компиляция шаблонов нужна для более быстрого и дешевого обновления HTML контент (через $update
)?
Добавлено:
С такими раскладом наши шаблоны нереально перевести на v6… 
Did you find solution for this error?
Template7 expressions are creating problem for me when migrating from 5 to 6.
{{userName}}
is generating error "Cannot create property 'elm' on string '{{userName}},[object Object]'"
You need to rewrite everything and add $h before every literal line
1 Like