Представление CanJS возвращает @@!!@@, если представление содержит таблицу HTML

Я использую последнюю версию http://canjs.com/ с Chromium 28.0.1500.71 (сборка для разработчиков 28.0.1500.71- 0ubuntu1.12.10.1) Ubuntu 12.10

Например, у меня есть этот шаблонный скрипт:

<script type="text/ejs" id="sequenceDetail">
    <header><%= this.qname %></header>
    <% this.stories.each(function(story) { %>
    <div>Story ID: <%= story.id %>GStory ID: <%= story.gstoriesid %></div>
    <table>
        <tr>
            <td>Story ID:</td>
            <td>GStory ID:</td>
        </tr>
    </table>
    <% }); %>
</script>

Это отправит мне что-то вроде:

<article>
    <header>Fun Fact Lab</header>
    @@!!@@
</article>

Но если я изменю шаблон на (удалю таблицу):

<script type="text/ejs" id="sequenceDetail">
    <header><%= this.qname %></header>
    <% this.stories.each(function(story) { %>
    <div>Story ID: <%= story.id %>GStory ID: <%= story.gstoriesid %></div>
    <% }); %>
</script>

И тогда я получу то, что хочу:

<header>Fun Fact Lab</header>
<div>Story ID: 517587GStory ID: 0</div>
<div>Story ID: 517588GStory ID: 0</div>
<div>Story ID: 517589GStory ID: 0</div>

Это ошибка этой библиотеки или моя ошибка?


person nvcnvn    schedule 16.08.2013    source источник


Ответы (1)


Похоже, это ошибка в CanJS. Я смог обойти это, обернув весь шаблон в другой элемент:

<script type="text/ejs" id="sequenceDetail">
<div>
    <header><%= this.qname %></header>
    <% this.stories.each(function(story) { %>
    <div>Story ID: <%= story.id %>GStory ID: <%= story.gstoriesid %></div>
    <% }); %>
</div>
</script>

я оставил им комментарий к ошибке, которая выглядит та же проблема.

person freejosh    schedule 16.08.2013