0

私のコードで何が起こっているのか、私たちの問題を見つけるのを手伝ってください..

私は次のようにエラーが発生しています:

Uncaught SyntaxError: Unexpected token < 

私のコードはここにあります:

$(function() {

    var userDetails=[
        {firstName:'Lakshmi', lastName:'Narayanan',age:32},
        {firstName:'Harish', lastName:'Manickam',age:28},
        {firstName:'Madan', lastName:'Gopal',age:27}
    ]

    var userModel = Backbone.Model.extend({
        defaults:{
            firstName:"",
            lastName:"",
            age:""
        }
    });

    var userList = Backbone.Collection.extend({
        model:userModel
    });

    var userView = Backbone.View.extend({
        tagName:"tr",
        className:"userList",
        template: $("#listTempalate").html(),
        render:function(){
            var temp = _.template(this.template);
            this.$el.html(temp(this.model.toJSON()));
            return this;
        }
    });

    var usersView = Backbone.View.extend({
        el:"tbody",
        initialize:function(){
            this.collection = new userList(userDetails);
            this.render();
        },
        render:function(){
            var that = this;
            _.each(this.collection.models, function(item){
                that.$el.append(new userView({model:item}).render().el);
            })
        }
    });

    var Router = Backbone.Router.extend({
        routes:{
            '' : 'home'
        }
    });

    var router = new Router();
    router.on('route:home', function(){
        var defaultUser = new usersView();
    })

    Backbone.history.start();

});

私のHTML:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge,Chrome=1" />
    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
    <title>User Manager</title>
    <link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css" rel="stylesheet">
</head>
<body>
    <div class="container">
        <h1>User Manager</h1>
        <hr>
        <div class="page">
            <table class="table striped">
                <thead>
                    <tr>
                        <th>First Name</th>
                        <th>Last Name</th>
                        <th>Age</th>
                        <th>Edit</th>
                    </tr>
                </thead>
                <tbody id="insertRows">

                </tbody>
            </table>
        </div>
    </div>
    <script id="listTempalate" type="text/template">
        <td><%= firstName %></td>
        <td><%= lastName %></td>
        <td><%= age %></td>
        <td><%= <a hre="#/edit/<%= user.id %>" class="btn">Edit</a></td>
    </script>
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min.js"></script>
    <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min.js"></script>
    <script type="text/javascript" src="js/userManager.js"></script>
</body>
</html>

真剣に私はそれを修正するためにここで私の問題を見つけることができません. 同様に、オンラインでbackbone.jsの問題を見つけることを提案する人もいます..

だから私は私のコードをチェックしてみましょう..

前もって感謝します..

4

1 に答える 1

2

HTMLのこの行に関係していることは間違いありません

<td><%= <a hre="#/edit/<%= user.id %>" class="btn">Edit</a></td>

を開い<%=てからもう一度開くと/edit/<%=、問題が発生していると思います。2 回開くことが許可されていても%>、ラインにファイナルを追加していません。

それをいじって、それがどうなるか教えてください。

編集

代わりにこれを試してください

<td> <a href="#/edit/<%= user.id %>" class="btn">Edit</a></td>

出力したい部分だけを タグ<%とタグですべてをラップする必要はありません。%>

于 2013-04-25T14:17:52.707 に答える