我知道它通常以相反的方式完成,但在我的具体用例中,我需要一个Model PostsTimes,引用一个Collection(另一个Model Post).现在我正在尝试:
var Posts = Backbone.Collection.extend({
model: Post
});
var posts = new Posts(); // my collection
var PostsTimes = Backbone.Model.extend({
url: "api/times.php",
initialize: function(options){
this.posts = options.posts;
},
test: function(){
console.log(this.posts);
}
});
var poststimes = new PostsTimes({posts: posts});
Run Code Online (Sandbox Code Playgroud)
但是,this.posts在PostsTimes始终保持undefined.有没有办法在没有定义全局变量的情况下做到这一点?
您所拥有的结构是正确的,因此它被记录的原因undefined是因为this您的函数中的test不是模型的实例。
所以你PostsTimes会变成
var PostsTimes = Backbone.Model.extend({
url: "api/times.php",
initialize: function(options){
_.bindAll(this);
this.posts = options.posts;
},
test: function(){
console.log(this.posts);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2227 次 |
| 最近记录: |