我是 Backbone 的新手,正在努力解决看似基本的问题。我设置了一个路由来接收一个参数,用它来定位一个模型(此时是硬编码的),并在视图中渲染模型数据。
使用“project1”的参数,在我的视图的渲染功能中,我可以访问,this.model
但我不能访问或或使用. (注意:试图访问后面的任何一个都会导致应用程序爆炸。)project1.attributes
project1.get('name')
this.model.attributes
this.model.get('name')
this.model.toJSON()
这是一个“this”绑定问题吗?任何帮助表示赞赏。
var Router = Backbone.Router.extend({
routes: {
"work/:project" : "project"
},
project: function (project) {
$('#content').html(new ProjectView({model:project}).render().el);
}
});
var ProjectView = Backbone.View.extend({
id: "project",
render: function () {
$(this.el).html(this.template(this.model.toJSON()));
return this;
}
});
var Project = Backbone.Model.extend({});
var project1 = new Project({
name: "Project1",
description : "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat."
});