1

angular 用の angular-ui-router プラグインを使用してルーティングを設定しようとしています。ページで他の処理が行われる前に (どのルートでも)、ユーザーのデータをロードする必要があります。次に、ユーザーのデータ (ID、ユーザー名など) に基づいて、ルートに必要な他のデータ コンポーネントをロードできます。

このシナリオのパターンはありますか? これを解決する 1 つの方法は、すべてのルートでユーザー データを解決として追加することだと考えていました。ただし、これは非常に冗長で非効率的に見えるだけでなく、機能しません (以下のコードを参照)。

collectionlistこれは、解決が解決の完了を待たないために機能しないコード サンプルですuserpanel(これが予想される動作であることは理解しています)。

.state('default', {
        url: '/',
        views: {
            'userpanel' : {
                templateUrl: 'js/partials/user_panel.html',
                controller: 'userController',
                resolve: {
                    user: function(UserResourceLoader) {
                        return UserResourceLoader();
                    }
                }
            },
            'collectionlist' : {
                templateUrl: 'js/partials/collection_list.html',
                controller: 'collectionsController',
                resolve: {
                    collectionsByUser: function(CollectionsByUserLoader, User) {
                        return CollectionsByUserLoader(User.data.id);
                    }
                }
            }
        }
    })

これに関する提案は非常に役立ちます。

4

1 に答える 1