0

私はバックボーンに非常に慣れていないため、この単純な例でタイトル変数が未定義として表示されるという問題があります。

JS は次のとおりです。

(function() {
    var Facet = Backbone.Model.extend({
        defaults: {
            title : ''
        }
    });

   var models = [
        new Facet({title: "Woah"}),
        new Facet({title: "Yeah"})
    ];

    var FacetView = Backbone.View.extend({
        el: 'div',
        template:  _.template($("#facet_template").html()) ,
        initialize: function(){
            this.render();
        },
        render: function() {
            this.$el.html(this.template(this.model.toJSON()));
            return this;
        }
    });

   _(models).each(function(model){
        $('aside#facets').append(new FacetView({model: model}));
    });

})();
// () means it is immediately invoked

HTMLは次のとおりです。

   <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript" src="js/jQuery.js"></script>
    <script type="text/javascript" src="js/Underscore.js"></script>
    <script type="text/javascript" src="js/Backbone.js"></script>

    <link href="css/site.css" rel="stylesheet" />
</head>
<body id="page">
<h1>Example Search Page</h1>
    <aside id="facets" class="three columns">

    </aside>

    <div id="searchResults">

    </div>
</body>
<script type="text/template" id="facet_template">
    <label>
        <%= title %>
        <input type="checkbox" class="facet" />
    </label>
</script>
<script type="text/javascript" src="js/TourFinder.js" defer="true"></script>
</html>

私は単に配列をループしてそれらのモデルをビューに渡し、それらのビューをページの aside 要素にレンダリングしようとしています。ここで非常に単純なものが欠けていることを知っています。どんな助けでも大歓迎です!

4

1 に答える 1