[Angular] Promises, reject(). 4. ngRoute, $routeChangeError event and defer.reject()

复制代码
var app = angular.module("app", ["ngRoute"]);

app.config(function ($routeProvider) {
    $routeProvider
        .when('/',
        {
            templateUrl: "app.html",
            controller: "ViewCtrl",
            resolve: {
                loadData: viewCtrl.loadData
            }
        })
});

app.controller("AppCtrl", function ($rootScope) {
    //event on route, depends on root scope
    $rootScope.$on("$routeChangeError", function (event, current, previous, rejection) {
        console.log(event);
        console.log(current);
        console.log(previous);
        console.log(rejection);
    })
});

var viewCtrl = app.controller("ViewCtrl", function ($scope, $route) {
    console.log($route);
    $scope.model = {
        message: "I'm a great app!"
    }
});

viewCtrl.loadData = function ($q, $timeout) {
    var defer = $q.defer();
    $timeout(function () {
        defer.reject("Your network is down");
    }, 500);
    return defer.promise;
}
复制代码

 

复制代码
<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="utf-8">
  <title>Egghead Videos</title>
  <link rel="stylesheet" href="./foundation.min.css">
  <script type="text/javascript" src="./angular.min.js"></script>
  <script type="text/javascript" src="./angular-route.min.js"></script>
  <script type="text/javascript" src="./app.js"></script>  
</head>
<body>

  <div ng-app="app" ng-controller="AppCtrl">
    <ng-view></ng-view>
  </div>
</body>
</html>
复制代码

 

posted @   Zhentiw  阅读(481)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示