$location.path获取上一个路径
$location.path get me previous path
我是angularjs的新手,我想获得当前状态的url,但当我使用$location.path()
函数时,它会给我最后一个点击它的状态——例如,在我最初点击仪表板时创建的这个plunker中,我在点击账户后会得到空字符串,在点击仪表板后,它会得到账户的名称url (/view1)
而不是(/view2)
——为什么会发生这种情况?这是我的plunkerhttp://plnkr.co/edit/EHkgk0x48JsrNeX2FqgG?p=preview
您的reloading()
函数在您单击按钮的url上进行处理。只有在处理完后,它才会进入下一页。因此它不会写入下一页的位置。
例如:
你点击Dashboard,它会记录空字符串。
当你点击账户时,它不会做任何事情,因为没有指定点击处理程序。
现在,您当前的url是/view1
当您单击Dashboard时,会调用reloading
函数,它会记录当前url,即/view1
,然后导航到新的url /view2
。
p.S:试试这个:
单击仪表板,它将记录空字符串。现在,您在/view2
中的当前url再次单击仪表板,它将记录/view2
发生这种情况是因为您在实际路由更改之前调用了ng-click
内部的reloading
函数。
更改您的控制器,如:
app.controller('MainCtrl', ['$scope', '$location', function($scope, $location){
// Fired when the transition begins.
$scope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams){
console.log("State changed: " + $location.path())
})
// Fired on click:
$scope.reloading = function(){
console.log("On click: " + $location.path())
}
}]);
并观察控制台中的输出——我想你会更好地了解这种方式发生的事情。
相关文章:
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 如何将值传递到上一个html页面
- Javascript获取上一个元素的内容
- 禁用旋转木马中的下一个按钮和上一个按钮
- 引用vue.js中v-for中的上一个值
- DOM导航-上一个同级未定义
- 构建JS测试,警报窗口重复上一个Q,而不是问下一个Q
- 如何在用户返回和上一个按钮时刷新下拉列表
- 删除“;上一个“;以及“;下一个“;基于当前幻灯片
- 简单的垂直上一个和下一个按钮代码点击上下移动jQuery
- HTML5历史记录-返回上一个完整页面按钮
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 如何选择给定类的上一个元素
- 用键盘分页jQuery下一个和上一个控件.触发器('点击')不'不起作用
- 如何使请求等待上一个请求完成
- 当我单击下一个或上一个按钮时,datatable显示旧值
- $location.path获取上一个路径
- 制作从上一个已知点到新添加点(d3)的路径(线)的动画
- 确定拉斐尔路径上一个点的位置
- 我们可以从一个路径自动完成上传文件吗