Angular JS UI-Routing,刷新后stateparams不工作

时间:2017-04-03 08:05:41

标签: javascript angularjs angular-ui-router

在MEAN应用程序中使用带角度的angular-ui-router进行路由

  • angular:1.6.2,
  • angular-ui-router:0.4.2

有以下状态:

.state('myposts', {            
    url: '/your-posts',    
    controller:'PostListController',    
    templateUrl:'post-list.template.html'    
})    

.state('postdetail', {    
     url: '/post/:postId',    
     controller:'PostDetailController',    
     templateUrl:'postdetail.template.html',    
     resolve:{    
        postdetail: ['Post', '$stateParams', function (Post, $stateParams) {    
             var url = '/api/posts/edit/' + $stateParams.postId;    
             return Post.get(url);    
        }]    
     }    
})    

在post-list.template.html中列出了表格中的所有帖子,并且有一个链接可以使用以下内容编辑特定帖子

<a ui-sref="postdetail({ postId: post._id })" class="btn btn-default">

使用 postId 参数从 myposts 转换为 postdetail

实际网址http://localhost:8886/#/post/58d5167bf05b904a52158f58

此处 postId 为58d5167bf05b904a52158f58

使用postId = 58d5167bf05b904a52158f58在ui-router的resolve属性中解析post并注入 PostDetailController controller

function PostDetailController($scope, $state, $stateParams, postdetail, Post){
    $scope.post = postdetail;
    ....
}

它第一次正常工作,但是当我刷新有url的页面时不能正常工作 http://localhost:8886/#/post/58d5167bf05b904a52158f58

使用 express server ^ 4.13.4

任何解决上述问题的人,为什么会这样?

由于

0 个答案:

没有答案