如果条件在角度js中为false,则在不加载视图的情况下重定向另一个URL

时间:2016-07-06 15:27:56

标签: javascript angularjs redirect

我正在加载页面,但页面有条件。如果condition为false,我在另一个url上使用$ window.location.href重定向url,但在重定向到另一个url之前,默认页面视图首先显示,然后重定向另一个看起来不太好的url。我很困惑该怎么办。请给我任何解决方案。

function get_bookings() {
    $http.post($scope.domailurl + 'api/class/booking.php?action=get_booking', { 'id': urlid }).success(function(data, status) {
        spinnerService.show('booksSpinner');
        if (data.ticket && data.ticket != "") {
            $window.location.href = $scope.domailurl + '#/attendeesprint/' + data.ticket;
        }
    });
}

1 个答案:

答案 0 :(得分:0)

我不是百分之百确定你的意思,但我确实有一些建议可能会有所帮助。

第一个建议是使用$location服务角度提供。然后,您可以使用以下行,而不必保留$ scope.domailurl变量。但是,我假设此路径仍在您的应用程序中。这也可以解决显示默认页面的问题,因为您不再导致整页刷新。

$location.path('/attendeesprint/' + data.ticket);

我的第二个建议是在进行$ http调用之前将 spinnerService.show(' booksSpinner'); 行移至。这将确保您的微调器在异步服务器操作期间显示。