javascript - UI Router 1.0 状态更改事件不起作用

标签 javascript angularjs angular-ui-router angular-components

我正在将 Angular 1.5 应用程序迁移到 Angular UI Router 1.0-beta3 以使用组件路由器。我正在监听 $rootScope 上的状态更改事件,但没有任何事件被触发。

示例:

angular
    .module('app', [ 'ui.router' ])
    .config(function($stateProvider) {
        $stateProvider.state(
            'dashboard',
            {
                url: '/dashboard',
                component: 'dashboardComponent',
                resolve: {
                    enabled: function() { throw new Error('NOT ENABLED'); }
                }
            });
    })
    .run(function($rootScope) {
        $rootScope.$on('$stateChangeError', function() {
            // Never called
        });
    });

组件路由是否支持状态更改事件?

最佳答案

组件路由支持状态更改事件,但 UI Router 在 v1.0 中以不同的方式处理事件。

试试这个:

...

.run(function($transitions) {
    $transitions.onError({}, function() {
        // Works like a charm
    });
});

请参阅docs了解更多信息

关于javascript - UI Router 1.0 状态更改事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40898009/

相关文章:

javascript - 丢失的 ; Google 脚本中的 before 语句

javascript - "Place Order"Magento 单页结帐按钮没有响应。 (内联 JS 未执行。)

javascript - Angular 数组不会显示嵌套数组

javascript - 在 AngularJS 中访问脚本内的范围变量

angularjs - 如何处理 Angular-ui-router 解析中的错误

javascript - 当 div 在 @media 屏幕中滚动时,如何在 @media print 中显示 div 的内容

javascript - VueJS 加载更多博客文章

javascript - 事件发生后如何在AngularJS中自动刷新表记录

解析路由器内部的东西时,AngularJS 错误处理?

javascript - Angular 2,在 ng build --prod 之后,ui-router 停止工作