我们有一个更改位置的服务处理程序。在其他内容触发摘要之前,位置不会更改。所以,我使用了$ apply,但是从中获得了错误。
$scope.myFunction = function () {
$scope.$apply(function () {
$location.url(path);
});
};
上面给出了这个错误:
Uncaught TypeError: Cannot read property '$$nextSibling' of null
从我发现的情况来看,似乎$ scope在一个阶段循环中被破坏了......但是如何在没有此错误的情况下对位置更改使用apply()?
编辑:
测试看看这个场景是否与我们当前的应用程序有关,并发现重新加载路由的工作很奇怪,这看起来像是黑客攻击?
$scope.myFunction = function () {
$location.url(path);
$route.reload()
};
答案 0 :(得分:2)
注入$rootScope
并使用它代替$scope
:
$location.url(path);
$rootScope.$apply();
$rootScope
将在应用的生命周期内可用。