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 つの質問があります。
- API 応答に応じて特定のコントローラーを実行する方法。
- リクエストの繰り返しを避けるために、API レスポンスを実行可能コントローラーに渡す方法。