我正在尝试在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文件,但我无法做到这一点..?
答案 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