我正在尝试将数据传递到Backbone.js中的SingleTodo
视图。但是,它没有正确地通过。
为了更清楚,请参阅下面给出的代码和输出。
验证码:
temp.html
<h1>This is Temp</h1>
<div id="app"></div>
<script type="text/template" id="app-template">
Title: <%= title %><br/>
isCompleted: <%= isCompleted %>
</script>
temp.js
const SingleTodo = Backbone.Model.extend({
defaults: {
title: "",
isCompleted: false
}
});
const TodoView = Backbone.View.extend({
el: "#app",
template: _.template($("#app-template").html()),
initialize: function () {
this.model = new SingleTodo();
this.render();
},
render: function () {
this.$el.html(this.template(this.model.toJSON()));
return this;
}
});
$(document).ready(function () {
const todoView = new TodoView();
todoView.model.set({
title: "A simple to-do",
isCompleted: true
});
});
输出:
预期
得到
我的代码中有什么错误,导致我没有得到预期的输出?
1条答案
按热度按时间j0pj023g1#
您在
TodoView
的initialize
方法中缺少以下行:旁白:与其在视图的
initialize
方法内部设置this.model
,我建议从外部传递它。在您的示例中,更改$(document).ready
处理程序的第一行: