Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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
Javascript 带主干线的下划线模板_Javascript_Backbone.js_Underscore.js_Underscore.js Templating - Fatal编程技术网

Javascript 带主干线的下划线模板

Javascript 带主干线的下划线模板,javascript,backbone.js,underscore.js,underscore.js-templating,Javascript,Backbone.js,Underscore.js,Underscore.js Templating,我是一个全新的主干框架。我有一个包含项目数组的模型itemsOnSaleModel,还有一个呈现这些项目的视图itemListView。问题是我不知道如何正确地编写模板。通常在这种情况下,我会这样写: <script type="text/template" id="listTemplate"> <ul id = "list"> <% for (var i=0; i< items.length; i++) { %>

我是一个全新的主干框架。我有一个包含项目数组的模型
itemsOnSaleModel
,还有一个呈现这些项目的视图
itemListView
。问题是我不知道如何正确地编写模板。通常在这种情况下,我会这样写:

<script type="text/template" id="listTemplate">

        <ul id = "list">
            <% for (var i=0; i< items.length; i++) { %>
            <li><%=items[i].age %><br>
            <%=items[i].name%><br>
            <%=items[i].id%><br>
            <img src="<%=items[i].imageUrl%>"/><br>
            <%=items[i].snippet%><br>
           <p>Price: <%=items[i].price%></p>
                <button id="<%=items[i].id%>" class="buyButton btn btn-success" type="submit">Buy</button>
            </li>
            <% } %>

    </ul>
</script>
正在传递给模型的电话阵列示例:

var phones = [
    {
        "age": 0,
        "id": "motorola-xoom-with-wi-fi",
        "imageUrl": "img/phones/motorola-xoom-with-wi-fi.0.jpg",
        "name": "Motorola XOOM\u2122 with Wi-Fi",
        "snippet": "The Next, Next Generation\r\n\r\nExperience the future with Motorola XOOM with Wi-Fi, the world's first tablet powered by Android 3.0 (Honeycomb).",
        "price": 150
    },

您的问题是,您正在引用模板中的集合项,但没有将其传递给模板。您可以将模板更改为使用_item(
),或者在编译模板时,您可以将项目列表传递给模板中的items变量

var rendTemplate = this._template({items: this.model.get('_items')});
var rendTemplate = this._template({items: this.model.get('_items')});