javascript - angular-ui/ui-router $stateChangeError 从不为不存在的状态触发

标签 javascript angularjs angular-ui-router

我的问题是 ui-router $stateChangeError 不是由“404”无效状态触发的。

我确定我的 $stateChangeSucess 正确触发:

$rootScope.$on('$stateChangeSuccess', 
        function(event, toState, toParams, fromState, fromParams)

当我故意使状态无效时:

 <ui-view>
    <a ui-sref="foo" style="cursor: pointer;">Foo is not a state</a>
 </ui-view>

$stateChangeError 事件没有被触发,我知道我有正确的签名

angular
    .module('blocks.router')
    .run(['$rootScope', function($rootScope) {
        $rootScope.$on('$stateChangeError', function(event, toState, toParams, fromState, fromParams, error) {
            console.log('$stateChangeError fired!');
        });
    }]);

我将我的函数添加到 $stateChangeError,同时我添加了我的工作 $stateChangeSuccess

对我可能做错的地方有什么建议吗?

最佳答案

Angular-ui-router 有 $stateNotFound对于这种情况

关于javascript - angular-ui/ui-router $stateChangeError 从不为不存在的状态触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39069378/

相关文章:

html - 绝对定位的内容不会显示在 angular ui-router ui-view 中

javascript - 仅更改多个命名嵌套路由之一

javascript - 通过 server.expose 或 server.method 公开 hapi 插件方法

javascript - 将对象数组过滤为新数组

javascript - JS组件可以继承CSS样式吗?

javascript - 范围问题 : Array is not passed into promise resolution

javascript - 如何在新窗口中打开选择框中的链接?

javascript - 限制 ng-repeat 但搜索整个数组

javascript - 如果我们使用 $http 获取数据,数据不会从一个自定义指令传输到另一个自定义指令

javascript - angular 的 ui-router 似乎正在缓存解析。当我不想要它的时候