我在使用骨干网时遇到了麻烦,并向几个人寻求帮助,但到目前为止没有运气。

我创建一个这样的新收藏

let eventsCollection = new BandEvents({artist: 'Muse'});


在收藏中,我这样做

const BandEvents = Collection.extend({
    model: Artist,
    url: 'http://api.bandsintown.com/artists/' + this.artist + '/events.json?api_version=2.0&app_id=SomeID',

});


运行此代码时,在浏览器控制台中出现以下错误

Uncaught TypeError: Cannot read property 'artist' of undefined


因此,+ this.artist +中的this是未定义的。我不知道我在做什么错。

最佳答案

这是未定义的,因为在此处设置url时不会实例化该集合。如果需要动态设置,我建议使用url函数:http://backbonejs.org/#Collection-url

关于javascript - Backbone 这是未定义的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37945112/

10-11 11:20