0

API 応答に応じて特定のコントローラーを実行しようとしています。

routeProvider 構成から始めます。

.when('/objects/:objectId', {
    controller: ControllerChooseCtrl,
    template: '<div></div>'
})

たとえば、API 応答の形式は {"available": true/false} です。

function ControllerChooseCtrl($scope, $routeParams){

    $http('...', {object_id: $routeParams.objectId}).then(function(data){

        $scope.resolved_data = data;

        if (data.available){
            // run AvaibleController
            // with 'available-template.html'
        } else {
            // run NotAvailableController
            // with 'not-available-template.html'
        }

    })  
}

.

function AvaibleController($scope){
    // use resolved_data from parent controller
}


function NotAvaibleController($scope){
    // use resolved_data from parent controller
}

したがって、少なくとも 2 つの質問があります。

  1. API 応答に応じて特定のコントローラーを実行する方法。
  2. リクエストの繰り返しを避けるために、API レスポンスを実行可能コントローラーに渡す方法。
4

0 に答える 0