モデルをサーバーからフェッチすると問題が発生しています。正しいJSONがchrome開発ツールのサーバーから返されてきましたが、モデルは返された値で更新されません。バックボーンModel.fetchはデータを返しますが、モデルは更新しません
var listtemplate = new ListTemplateModel.Model({id: id}); listtemplate.fetch();
この時点で、Chrome開発ツールの正しいデータが表示されます。
{ "title": "Template one", "id": "template_one", "steps": [ { "description": "I love it", "id": 1, "created_at": "2012-12-24T18:01:48.402Z" }, { "description": "This is rubbish!", "id": 1, "created_at": "2012-12-24T18:01:48.402Z" } ], "created_at": "2012-12-24T18:01:48.402Z" }
が、JSONをロギングコンソールは私だけでデフォルト値とモデルの作成時に渡されたIDを示しています。ここでは、サーバーから戻ってきたものです。
console.log(listtemplate.toJSON());
、これが返されます。
{id: "template_one", title: "", steps: Array[0]}私のモデルはこのようになります
(私はRequire.jsを使用していますが、それ故にモデルは、上記ListTemplateModelに名前が変更されました)
var Model = B.Model.extend({ defaults: { title: '', id: 0, steps: [] }, urlRoot: 'xxx' });
任意のアイデアを?
編集 @ Amulyaの回答が正しいトラックに設定されていて、その後「私」が見つかりました。フェッチを完了するためにあなたが待っていないかもしれないので、
listtemplate.fetch().then(function(){ //update the view });
@Amulyaの答えは正しいトラックに私を設定し、私は "その後"を発見しました。これが誰かが同じ問題にぶつかるのを助けることを願って –