0

我正在使用 Backbone 和 Parse 构建一个调查网站。我模仿了待办事项列表示例,在页面中添加了一个问题。与待办事项列表示例一样,我有“createOnEnter”和“addOne”。获取 id 对我来说很重要,因为我需要将问题的 id 设置为与其在 Parse 中的 id 相同。

    addOne: function(question) {
    alert(question.get("content"));
    alert(question.id);
    var view = new QuestionView({model: question});
    this.$("#questions").append(view.render().el);
},

    createOnEnter: function(e) {
    if (e.keyCode != 13) {
        return;
    }

    this.survey.create({
        content: $("#new-question").val(),
        type: $("#choose-type").val(),
        order: this.survey.nextOrder(),
        user: Parse.User.current(),
        ACL: new Parse.ACL(Parse.User.current())
    }, {wait: true});
        $("#new-question").val('');
    }

所以 alert(question.get("content")) 确实会给我预期的内容,但 alert(question.id) 显示未定义。但是我相信保存到 Parse 的每个条目都会获得一个唯一的 id,所以我不明白为什么 question.id 是未定义的。更糟糕的是, alert(question.get("cid")) 也是未定义的......这让我很困惑。非常感谢!!!

4

1 回答 1

3

ids由服务器给出(当你fetch和服务器返回一个id字段时)。如果您在创建模型时手动添加一个id字段,也可以添加它 - 但关键是这不是自动完成的。是服务器上id资源的唯一标识符。

当您在前端创建问题时,您需要使用唯一 ID Backbone create who's called cidhttp://backbonejs.org/#Model-cid

于 2012-11-24T19:52:08.540 回答