Javascript 为什么';t my$location.path(';test';)更改地址栏
我在一个庞大的代码库中工作,所以我不能一蹴而就地复制结果。我正在处理的组件是用角度写的 到目前为止我已经试过了Javascript 为什么';t my$location.path(';test';)更改地址栏,javascript,angularjs,window.location,Javascript,Angularjs,Window.location,我在一个庞大的代码库中工作,所以我不能一蹴而就地复制结果。我正在处理的组件是用角度写的 到目前为止我已经试过了 window.location.href = 'test' $location.path('test') $location.hash('test') 每个变体都有效,并且console.log确认哈希已更改,但我的地址栏保持不变 我知道有很多变量可能导致这种情况,但我没有办法去探索。有人能告诉我一些我可能忽略的可能原因吗?我已经搜索了preventDefault()的代码库,尝试了
window.location.href = 'test'
$location.path('test')
$location.hash('test')
每个变体都有效,并且console.log确认哈希已更改,但我的地址栏保持不变
我知道有很多变量可能导致这种情况,但我没有办法去探索。有人能告诉我一些我可能忽略的可能原因吗?我已经搜索了preventDefault()的代码库,尝试了所有可以想象的设置散列的不同方法,甚至尝试了在setTimeout中包装散列的重新定义
谢谢你的帮助 你可以试试
$timeout(function() {
$location.path('test');
});
假设所有角度动作都必须在应用程序的摘要循环中运行。如果您使用的函数不是使用某些angular服务来处理它,则不会将更改通知上下文 您的代码可能在一个框架中。。。查看是否执行
var t=window;而(parent!=t)t=parent;t、 location.href='test'代码>如何$location.path('/test')
?谢谢!就是这样,设置后使用$scope.apply()