backbone.js を使用しています。次のようなjsonを取得します。
{
first_name: 'David',
last_name: 'Smith',
family: [{father: 'David', mother: 'Rose', brother: 'Max'}]
}
first_name と last_name は、PersonView (拡張 Backbone.View) と、DetailsView に表示したい家族データを介して表示されます。
だから、私はこのようにしようとしていました。初め:
personView = new PersonView(model: person)//person it's the json above
PersonView はよく表示されます。次に、次のようにモデルを DetailsView に渡します。
detailsView = new DetailsView(model: JSON.parse(person.get('family'));
さて、モデルを DetailsView 実装のテンプレートに渡そうとすると、次のようになります。
DetailsView = Backbone.View.extend({
className: 'tab-pane',
template: _.template($('#detail-tpl').html()),
render: function(){
this.$el.html(this.template(this.model.toJSON()));
return this;
},
});
次のメッセージが表示されます。
キャッチされていない TypeError: オブジェクト [オブジェクト オブジェクト] にメソッド 'toJSON' がありません
これを解決するためにモデルを取得または渡す方法がわかりません。
いろいろな方法を試しているのですが、うまくいきません。
あなたが私を助けてくれることを願っています。