javascript - Angular UI Router 新 View ,相同的 URL

标签 javascript angularjs angular-ui

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

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

.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>'
    })

关于javascript - Angular UI Router 新 View ,相同的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25230632/

相关文章:

javascript - 如何绑定(bind)对象以使用普通js更新值?

javascript - Angular js + Rails 好主意吗?

javascript - AngularJS:将 HTML 中嵌入的 JSON 传递给 Controller

angularjs - Angular UI 多级下拉切换

javascript - 处理 JSON 响应时出错。意想不到的角色

javascript - 如何使 document.location.href 表现得像一个简单的链接?

javascript - 模态窗口被 chop

angularjs - Angular.ui 引导评级中的自定义图像

angularjs - 如何通过 $http 将 angular-ui 的 typeahead 与服务器绑定(bind)以进行服务器端优化?

javascript - 在 slider 内控制 HTML5 视频