シングルページアプリ用にマリオネットとハンドルバーをセットアップしています。このプロジェクトを始めたのは私ではありません。それは最初に他の誰かによって開発されました。
他のファイルの内容を理解することはできましたが、これを理解することはできません。
だから、私はmodels/order.coffeeを持っています
Model = require './model'
Collection = require './collection'
module.exports = class OrderModel extends Model
# This is the *real* orders model
idAttribute: 'uid'
defaults:
title: 'some order'
module.exports = class Orders extends Collection
model: OrderModel
url: base_url+'history/'
initialize: =>
super
@fetch()
parse: (response) =>
return response.objects
parse
バックエンドがデータを返す方法が原因です。response.objects
モデルの作成元となる JSON オブジェクトのリスト、つまりOrderModel
インスタンス\
次にあるのはviews/SettingsOrderView.coffee
template = require './templates/settings/orders'
module.exports = class SettingsOrdersView extends Backbone.Marionette.ItemView
template: template
events: 'click #back_to_options': 'goToOptions'
serializeData: =>
data = @.collection
setTimeout (-> console.log(data.models)), 5000
$.each data.models, (m_index, m) =>
console.log(m)
return {items: @.collection}
私の問題は、私が行うテンプレートにあり{{#each items}}
ますが、それらは OrderModel のインスタンスであるため、Handlebars では役に立ちません。それらを JSON オブジェクトとして作成する必要がありますが、何らかの理由で (実際には) に入力されcollection.fetch()
ません。5 秒後 ( を参照)は、まさに必要なもののリストですが、その時点では空のリストであるため、 は実行されません。@.collection.models
serializeData
setTimeout
data.models
each
data.models
前述のように、モデルを JSON 化する必要がありますが、利用できません。どうすればこれを修正できますか?
他のデータが必要な場合は、コメントしてください。投稿します。
ありがとう。