0

http://canjs.com/ Chromium 28.0.1500.71 (Developer Build 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>

これはこのライブラリのバグですか、それとも私の間違いですか?

4

1 に答える 1

0

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>

同じ問題のように見えるバグについてコメントを残しました。

于 2013-08-16T20:14:54.110 に答える