$ location.url和$ scope。$ apply =无法读取属性'$$ nextSibling'的null

时间:2014-07-28 17:13:12

标签: angularjs angularjs-scope

我们有一个更改位置的服务处理程序。在其他内容触发摘要之前,位置不会更改。所以,我使用了$ 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() 
};

1 个答案:

答案 0 :(得分:2)

注入$rootScope并使用它代替$scope

$location.url(path);
$rootScope.$apply();

$rootScope将在应用的生命周期内可用。