如何将牵线木偶附加到DOM的视图

时间:2016-05-05 03:48:31

标签: javascript jquery templates backbone.js marionette

我有一个非常简单的设置与Marionette我正在努力工作。

我有一个集合视图:

var MyItemsView = Marionette.View.extend({
    template: "#some-template"
});

var view = new MyItemsView({
    collection: new Backbone.Collection([1,2,3,4,5])
});

模板直接嵌入我的HTML

<script id="some-template" type="text/html">
        <ul>
            <% _.each(items, function(item){ %>
            <li> <%= item %> </li>
            <% }); %>
        </ul>
</script>

我没有输出。

当我尝试使用view.render()时,我也没有输出。 当我记录console.log(view.render().el)时,我只是空洞<div>我不明白这是怎么发生的?该视图不应该使用提供的模板吗?

另一个更新。这将使用ItemView或LayoutView呈现,但不会呈现视图... wtf正在此处进行。

此示例直接来自Marionette网站。我在这里做错了吗?

2 个答案:

答案 0 :(得分:1)

您使用的是什么版本的木偶?如果您在3.0.0(当前测试版)之前使用了任何内容,则应该从ItemView而不是View延伸到Marionette文档(v2.4.5) :

  

注意:Marionette.View类不能直接使用。   它作为要扩展的其他视图类的基本视图存在,   并为跨共享的行为提供公共位置   所有观点。

此行为在v3.0.0中更改为ItemView,看起来好像已被删除。

答案 1 :(得分:0)

从它的外观来看,它会创建一个内存中的视图。

您需要告诉它您希望使用el选项附加此视图内容,

或者你应该像

一样手动追加到DOM
$('body').append(view.el)