无法访问 class 定义中的模型 属性

Cannot access model property on class definition

我将值作为属性发送给模型

Views.App = Backbone.View.extend({
    initialize: function () {
        this.items = new Models.Items()
            .on('sync:subitems', function (item) {
                this.subitems = new Models.Subitems({itemId: item.attributes.id});

并在模型的初始化中成功接收到它

var Subitems = Models.Subitems = Backbone.Collection.extend({
    initialize: function(attributes, options) {
        this.itemId = attributes.itemId;
        console.log(this.itemId);
    },
    model: Subitem,
    url: './subitems?item_id=' + encodeURIComponent(this.itemId)
});

console.log returns初始化时的属性值。

但是请求是这样发送的:

'./subitems?item_id=undefined'

如果我可以访问初始化中的 属性,为什么我有 undefined?如何解决?

将 url 更改为函数,您将处于 backbone 集合的上下文中,与 window.

相对应