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
}

所以,至少有两个问题:

  1. 如何根据 API 响应运行特定的控制器。
  2. 如何将 API 响应传递给可执行控制器,以避免请求重复。
4

0 回答 0