如何在backbone.js中显示html内容

时间:2015-01-20 03:50:54

标签: javascript jquery backbone.js marionette backbone-views

我正在尝试在backbone.js中加载html文件。但是我无法显示视图。可以告诉我哪里做错了..我将与你分享我的代码。 **code**http://goo.gl/CcqYwX

 $(document).ready(function(){
    var ContactManager = new Marionette.Application();
    ContactManager.addRegions({
        mainRegion:"#contend"
    })

    ContactManager.on("start", function(){
        console.log("ContactManager has started!");


    });

    ContactManager.start();

 // router 
     var routers =  Backbone.Router.extend({
    routes: {
        "": "showFirstPage"
    },
    showFirstPage:function(){

    }
    })

     var ToolItemView = Backbone.Marionette.ItemView.extend({

        template: 'template/test.html',



    });
 var toolItemview = new ToolItemView(); 
 ContactManager.mainRegion.show(toolItemview); 

})

我正在尝试加载test.html文件,但我无法做到这一点..?

1 个答案:

答案 0 :(得分:1)

Marionette默认使用下划线模板。您需要使用某种外部加载器将它们作为变量加载,或者您可以将它们作为脚本元素放在DOM中,然后可以使用模板属性进行引用。见这里:

例如,如果你把它放在你的html中,代码就像

<html>
<body>
<script type="text/template" id="example">
<div class="template-content-here">
<%=variable_here %>
<!-- probably more stuff here -->
</div>
</script>

<script src="myApp.js"></script>
</body>
</html>

然后你可以在JavaScript中引用它

var ToolItemView = Backbone.Marionette.ItemView.extend({

    template: '#example',

 });

适用于小型项目,对于较大的项目,您需要某种构建/模块系统来引入预编译模板并直接引用它们。

此处提供更多信息:http://marionettejs.com/docs/v2.3.1/marionette.renderer.html