繁体   English   中英

Angular UI 路由器新视图,相同的 URL

[英]Angular UI Router new view, same URL

我在我的 Angular 应用程序中定义了以下状态,我想知道是否可以将模板从另一个状态注入到当前状态?

在我的.catch()下面我有: $state.go('error404'); 这将触发 error404 状态并将用户重定向到 /404。 但是,我想要发生的是,用户停留在触发 404 的同一 URL 上,而 404 模板只是注入到页面上。 (所以没有重定向)。 这可能吗?

.state('error404', {
        url: '/404',
        template: '<p style="color:white;">404 NOT FOUND</p>'
    })

.state('publicUserProfile', {
        url: '/:username',
        templateUrl: 'views/public-profile.html',
        controller: 'publicProfileController',
        resolve: {
            userData: ['$http', 'API_URL', '$stateParams', '$state', function ($http, API_URL, $stateParams, $state) {
                return $http
                .get(API_URL + '/users/' + $stateParams.username)
                .catch(function () {
                    $state.go('error404'); <-- HERE
                })
            }]
        }
    });

在这种情况下,您应该删除url属性:

.state('error404', {
        template: '<p style="color:white;">404 NOT FOUND</p>'
    })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM