angularjs – 如何使用ui-router获取带Params的Previous状态
问题陈述 :
我有一个按钮“添加评论”,我应该能够只在我登录系统时添加评论. 但问题是我登录后无法回到“添加评论”页面,因为我不知道以前的状态还是无法获得以前的状态. 这有什么更清洁的解决方案吗?我应该有登录页面模式而不是新页面吗? 我已经看到了关于以前状态的所有问题以及可能的答案(是的,我正在考虑$roots roots和$stateChangeSuccess).但它没有明确提出解决方案. 其他可能的解决方案如下 我也看到了 有人可以明确说明一个好的解决方案使用rootcope是一个好的吗? 解决方法
我应该有登录页面模式而不是新页面吗?这是一个设计决定.您可以拥有适合您应用的任何内容,并且符合您的喜好.
使用rootcope是一个好的吗?我觉得这是一个很好的解决方案.我是这样做的: 手动保存以前的状态: 创建状态更改侦听器: $rootScope.$on('$stateChangeSuccess',function(event,to,toParams,from,fromParams) { //save the previous state in a rootScope variable so that it's accessible from everywhere $rootScope.previousState = from; }); }]); 而不是使用ui-sref,为注释按钮添加一个单击功能. $scope.commentHandler = function(){ //check if user is logged in,let the user post the comment //else take him to login page } 然后,您可以在用户登录后使用$state.go($rootScope.previousState.name)返回评论页面. -要么 – 如果用户未登录,您可以提供一个小的登录框来代替“发表评论”按钮. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |