在 Backbone 中,使用"create"函数将其添加到 Parse 后无法获取对象的 id 或 cid



我正在使用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"))也是未定义的.....这真的让我感到困惑。多谢!!!

ids

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

当您在前端创建问题时,您需要使用唯一 id Backbone 创建谁被称为 cid . http://backbonejs.org/#Model-cid

最新更新