4

公式チュートリアルで説明されているように、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/

私は何を間違っていますか?これは角度の悪い概念/構造ですか? ありがとう!!

4

1 に答える 1