1

キャッチされない構文エラーが発生します

予期しない識別子 - underscore.min.js 24.

テンプレートにこのチェックボックス コードを追加すると、エラーが表示されました。

template: _.template('<h3>'+'<input type=checkbox'+'<% if(status === "complete") print("checked") %> />' + '<% = name %></h3>'),

エラーはテンプレートのチェックボックス コードにあると思いますが、それが何であるかわかりません。

以下は私のコードです:

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title></title>
<meta name="description" content="">
</head>
<body>

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.cdnjs.com/ajax/libs/underscore.js/1.1.4/underscore-min.js"></script>
<script type="text/javascript" src="http://ajax.cdnjs.com/ajax/libs/backbone.js/0.3.3/backbone-min.js"></script>

</body>

<script>

var Friend = Backbone.Model.extend({});

var friend = new Friend ({ name:'phani'});

var FriendView = Backbone.View.extend({
    el:'body',
    tagName:'article',
    id:'my-friend',
    className:'hello-friend',

    //template
    template: _.template('<h3>'+'<input type=checkbox'+'<% if(status === "complete") print("checked") %> />' + '<% = name %></h3>'),

    //event
    events:{
    "click h3":"alertStatus"
    },

    alertStatus: function(e){
        alert("Hey you clicked the h3!");
        },

    render:function(){
    var attributes = this.model.toJSON();
    $(this.el).html(this.template(attributes));
    }

});

var friendView = new FriendView({model:friend});
friendView.render();
console.log(friendView.el);

</script>
4

1 に答える 1

0

これがエラーの原因かどうかはわかりませんが、行に

template: _.template('<h3>'+'<input type=checkbox'+'<% if(status === "complete") print("checked") %> />' + '<% = name %></h3>'),

おそらく「チェック」の前にスペースが必要です。そうしないと、次のような結果になります

<input type=checkboxchecked />

ちなみに、二重引用符も使用する必要がありますcheckbox

于 2013-03-28T10:52:08.267 に答える