2016-08-06 9 views
4

角度アプリのホームページには、ビューとネストされたビューがあります(下記のui-routerコードを参照)。私は$httpデータベースを呼び出し、結果をng-repeatで表示しています。同時に私はそれらの結果をサービスにプッシュします。ネストされたビューでは、サービスから1つの結果を呼び出して表示します(2つのコントローラを使用しています)。私の問題は、私はこのすべてが負荷の上で起こる必要があるということです。これに対処する最も良い方法は、ui-routerの "解決"ですか?ui-routerでロードしたときのネストされたビューへのサービスのデータ

$urlRouterProvider.otherwise('/open'); 
    $urlRouterProvider.when('/open', '/open/mainbook'); 
    $stateProvider 
    .state('open', { 
    url: '/open', 
    templateUrl: 'ang/views/open.html', 
}) 

.state('open.mainbook', { 
    url: '/{featId}', 
    templateUrl: 'ang/views/open.mainBook.html', 
    })` 

答えて

0

ソリューションは、(私も内のネストされたビューのデータを与える一つに二つのコントローラを組み合わせて、そしてすぐに$state.goを使用して初期$httpコール内からネストされたビューを呼び出すために、サービスを使用しないことでした同じコール)、私はまだそのデータの初期集団のために、ネストされたビューに後で変更するためのサービス(bookDataを)だけではない使用すなわち
$scope.featCall = function() { $http({ method: 'GET', cache: 'true', url: '/featList' }).then(function (result) { $scope.single = []; $scope.single = result.data[0]; $state.go('open.mainbook', { featId: $scope.single.id }); bookData.clearProduct(); angular.forEach(result.data, function (eachOne) { $scope.featList.push(eachOne); bookData.addProduct(eachOne); }) }) };

注意。

関連する問題