学习Backbone.js -不能转换'this.model'对象
Learning Backbone.js - Cannot convert 'this.model' to object
我是新手,试图学习Backbone.js,我有这个错误:
不能转换"this"。Model ' to object
我试图建立一个简单的架构为audioplayer,但这个错误让我疯了!不明白为什么会这样,但是浏览器控制台在this.model行显示错误。绑定("重置",这。
ListOfSongsView。下面是我的代码:
$(function () {
var Player = Backbone.Model.extend({
defaults:{
//blablabla
}
});
var Playlist = Backbone.Collection.extend({
model: Player
});
var MyPlaylist = new Playlist([
{
//blablabla
}
//here comes more songs
]);
var ListOfSongsView = Backbone.View.extend({
tagName: 'ul',
id: "tracks",
initialize: function () {
this.model.bind("reset", this.render, this);
var self = this;
this.model.bind("add", function (player) {
$(self.el).append(new OneSongView({model:player}).render().el);
});
},
render: function (eventName) {
_.each(this.model.models, function (player) {
$(this.el).append(new OneSongView({model:player}).render().el);
}, this);
return this;
}
});
var OneSongView = Backbone.View.extend({
tagName: "li",
calssName: "clearfix",
template:_.template($('#tpl-one-song').html()),
initialize: function () {
this.model.bind("change", this.render, this);
},
render: function (eventName) {
$(this.el).html(this.template(this.model.toJSON()));
return this;
}
});
var AppRouter = Backbone.Router.extend({
routes:{
"": "list",
"!/": "list"
},
initialize: function () {
$('#block').html(new ListOfSongsView().render().el);
},
list: function () {
this.playlist = new Playlist();
this.ListOfSongsView = new ListOfSongsView({model:this.playlist});
this.playlist = MyPlaylist;
$('#block').html(new ListOfSongsView().render().el);
}
});
var app = new AppRouter();
Backbone.history.start();
});
我做错了什么?请帮帮我,我的头已经裂开了
initialize: function () {
$('#block').html(new ListOfSongsView().render().el);
}
在构造AppRouter时调用。你没有传递ListOfSongsView()的model in参数,所以这个。模型未定义
然后调用视图的初始化:
initialize: function () {
this.model.bind("reset", this.render, this);
var self = this;
this.model.bind("add", function (player) {
$(self.el).append(new OneSongView({model:player}).render().el);
});
},
。Model是未定义的,所以你不能对它调用bind
相关文章:
- Rails将JavaScript对象存储到Model的有效方式
- 对象不能在angularjs ng-model中访问
- ng-repeat不绑定ng-model对象数组
- 如果值为空,ng-model 将从对象中删除元素
- 有没有办法在我的单元测试中测试一个对象是否“是”Backbone.Model
- Backbone.model:对象函数 (a){return new n(a)} 没有方法 'has'
- 当 ng-model 和 ng-options 引用不同的对象时,如何使用 ng-init 在选择框中选择默认值
- Vue.js v-model数据对象
- this.model.destroy() 在 backbone 中.js返回对象没有方法销毁
- 如何访问swig上的主Model对象
- 将JavaScript对象反序列化为Dictionary
通过Web API中的Model - Angular将解析对象传递给Ng-Model
- 学习Backbone.js -不能转换'this.model'对象
- 在Angularjs中选择绑定ng-model的对象
- “[对象对象]“;而不是Object被传递给ng-model用于
- 使用ng-model选择下拉框中的两个对象
- 显式控制ng-model对象的顺序
- ng-model对象的Angular问题
- 将jQuery数据转换为Backbone Model对象
- 没有Model对象的服务器请求主干