我刚开始学习Backbone.js,并一直在研究(还有什么)一个简单的待办事项应用程序。在这个应用程序中,我想在<ul id="unfinished-taks"></ul>
中显示我的待办事项,每个任务都显示为<li>
元素。到目前为止,这么简单。从Backbone.Device分离模板逻辑
据我已阅读教程,我应该创建具有以下视图:
// todo.js
window.TodoView = Backbone.View.extend({
tagName: 'li',
className: 'task',
// etc...
});
这工作得很好,但它似乎是不好的做法来定义我的待办事项的HTML标记结构在我的Javascript代码中。我宁愿在模板完全定义的标记:
// todo.js
window.TodoView = Backbone.View.extend({
template: _.template($("#template-task").html()),
// etc...
});
<!-- todo.html -->
<script type="text/template" id="template-task">
<li class="task <%= done ? 'done' : 'notdone' %>"><%= text %></li>
</script>
但是,如果我这样做的Backbone.js的默认使用tagName: 'div'
和包装所有我的没用<div>
标签待办事项。有没有办法让HTMl标记完全包含在我的模板中,而不在每个视图元素周围添加非语义的<div>
标签?
呃,不是我想要的答案,但如果是这样,我想我必须要么处理它,要么使用除骨干以外的东西 – Joshmaker 2012-02-25 13:54:39