将数据解析为状态

你可以在转换到数据时将数据转换为你的状态,通常在状态需要使用该数据时有用,或者在需要对某些提供的输入进行身份验证时解析为状态。

定义状态时,需要提供要解析为 .resolve 属性的值的映射,每个已解析的值应该具有返回 promise 的函数

.state('main', {
     url: "/main",
     templateUrl: "path/to/main.html",
     controller: 'mainCtrl',
     resolve: {
         serverData: function ($http) {
             return $http.get('some/url');
         }
     }
});

现在,在 mainCtrl 中,你可以访问数据(即 $http 调用成功解析)。

.controller("mainCtrl", function($scope, serverData) {
    $scope.resolvedData = serverData.then(resp=> resp.data);
    ....
})