公式チュートリアルで説明されているように、AngularFire を使用して、データをカプセル化し、特定の機能を許可するために、オブジェクト ファクトリを拡張しています。次のようなデータ構造があります。
{
'articles': {
'article-asd876a': {
title: 'abc',
text: 'lorem ipsum ...',
comments: {
'comment-ad4e6a': true,
'comment-dsd9a7': true
}
}
},
'comments': {
'comment-ad4e6a': {
text: 'comment text1',
articleId: 'article-asd876a'
},
'comment-dsd9a7': {
text: 'comment text2',
articleId: 'article-asd876a'
}
}
}
今、私はこれができるようになりたいです:
var article = new Article(8); // Returns the object created by my object factory, fetching data from firebase
var comments = article.getComments(); // Returns an array of type Comment
var firstText = comments[0].getText();
var article2 = comments[0].getArticle(); // article2 === article
しかし、これは多くのレベルで失敗します。そのうちの 1 つ: Article では、コメント ID しか格納できないため、新しい Comment(commentId) を使用してコメント オブジェクトを再作成する必要があります。そのためには、記事にコメントを挿入する必要があります。Comment についても同じことが言え、Article -> Comment -> Article という循環依存関係になります。次のフィドルは動作を示しています: http://jsfiddle.net/michaschwab/v0qzdgtq/。
私は何を間違っていますか?これは角度の悪い概念/構造ですか? ありがとう!!