1
는 코드는 다음과 같습니다 ModelB
이 성공적으로 생성 된 경우에도 RelationalModel에 중첩 된 컬렉션을 처리하는 방법은 무엇입니까? 내가 모델의 복잡한 계층 구조를 만들 수 <a href="https://github.com/PaulUithol/Backbone-relational" rel="nofollow">Backbone-Relational</a>를 사용
var ModelA = Backbone.Model.extend({
initialize: function() {
console.log('model a initialized!')
}
});
var CollectionA = Backbone.Collection.extend({
model: ModelA
});
var ModelB = Backbone.RelationalModel.extend({
relations: [{
type: Backbone.HasMany,
key: 'Collection',
collectionType: CollectionA
}]
});
var data = new ModelB({
name: 'ModelB',
Collection: [{
name: 'ModelA-1'
}, {
name: 'ModelA-2'
}]
});
console.log(data.get('Collection').at(0) instanceof ModelA); // false
console.log(data.get('Collection').at(0) instanceof ModelB); // true
console.log(JSON.stringify(data.toJSON()));
// {"name":"ModelB","Collection":[{"name":"ModelA-1","Collection":[]},{"name":"ModelA-2","Collection":[]}]}
보시다시피
가,ModelA
의
initialize()
가 호출되지 않습니다. 유형을 확인하면 콜렉션 안의 오브젝트가
ModelA
이 아님을 증명합니다. 이 문제를 어떻게 해결할 수 있습니까?
감사합니다. raina! 당신의 대답은 나의 의심을 해결합니다! – heyun