1

私は CanJS を初めて使用し、チュートリアルで学習しようとしていました.かつて行き詰まった場所は、UL/LI の組み合わせの代わりにテーブルを使用するようにtodo チュートリアル コードを変換したときでした。

私はいくつかの非常に小さな間違いを犯している可能性があります..しかし、過去3日間同じことを見つけることができませんでした..誰か助けてもらえますか?

todo チュートリアルの短いバージョン (テーブルを使用するようになりました) の jsFiddle は、ここで問題を確認できます。

ejs からのコードの核心はここにあります..

<script type='text/ejs' id='todosEjs'>
<table border="1">
    <thead>
    <tr>
        <th>id</th>
        <th>name</th>
        <th>status</th>
    </tr>
    </thead>
    <tbody>
<!-- bind to changes in the todo list -->
<% this.each(function( todo ) { %> 
    <!-- add the todo to the element's data -->
    <tr <%= (el) -> el.data('todo',todo) %>>
        <td>
            <input type="checkbox" <%= todo.attr('complete') ? 'checked' : '' %>>
        </td>
        <td><%= todo.attr('name') %></td>
        <td><%= todo.attr('id') %></td>
    </tr>
<% }) %>
 </tbody>
</table>

</script> 

手を差し伸べるのを楽しみにしています:-)

4

1 に答える 1

2

更新: これはバグの結果であり、現在は修正されています

ここではコメントが問題のようです。それらを削除すると機能します。更新された Fiddle を参照してください。

<table border="1">
    <tr>
        <th>id</th>
        <th>name</th>
        <th>status</th>
    </tr>
<% this.each(function( todo ) { %> 
    <tr <%= (el) -> el.data('todo',todo) %>>
        <td>
            <input type="checkbox" <%= todo.attr('complete') ? 'checked' : '' %>>
        </td>
        <td><%= todo.attr('name') %></td>
        <td><%= todo.attr('id') %></td>
    </tr>
<% }) %>
于 2013-02-07T17:23:01.083 に答える