Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 主干:未捕获引用错误:未定义标题_Jquery_Html_Backbone.js_Underscore.js - Fatal编程技术网

Jquery 主干:未捕获引用错误:未定义标题

Jquery 主干:未捕获引用错误:未定义标题,jquery,html,backbone.js,underscore.js,Jquery,Html,Backbone.js,Underscore.js,我对主干非常陌生,在这个简单的示例中,我遇到了一个标题变量未定义的问题: 以下是JS: (function() { var Facet = Backbone.Model.extend({ defaults: { title : '' } }); var models = [ new Facet({title: "Woah"}), new Facet({title: "Yeah"})

我对主干非常陌生,在这个简单的示例中,我遇到了一个标题变量未定义的问题:

以下是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元素中呈现这些视图。我知道我在这里错过了一些非常简单的东西,任何帮助都将不胜感激

我想你的意思是:

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

(模型)。每个(f)
。每个(模型,f)
都是同一件事。我看不到任何东西会给你带来那个错误。但是,您不想要
el:'div'
(这意味着“使我的
el
成为
$('div')[0]
元素”,而不是“创建一个新的
作为我的
el
)和
.append(新的FacetView({model:model}))
是一件奇怪的事情。您想要这样的东西:棒极了,这很有效!感谢这里的帮助。