AngularJS,$scope正在运行

AngularJS,$scope正在运行,angularjs,scope,Angularjs,Scope,我是新来的AngularJS 实际上,我有一个所有控制器都通用的功能,所以我在run方法中保留了这段代码。该代码指定在满足条件时导航到其他页面,但在那里我的$location.path()不起作用,因此我保留了$scope.$apply,之后它让我导航。。。(当我将它保存在控制器中时,它正在工作) 但是当我把它放在运行中时,它的抛出错误是关于$scope(但是没有$scope就没有导航) 我认为除了运行代码之外没有其他选择。。。但是,$scope不起作用 有没有其他方法,比如将代码放入函数中并从

我是新来的
AngularJS

实际上,我有一个所有控制器都通用的功能,所以我在run方法中保留了这段代码。该代码指定在满足条件时导航到其他页面,但在那里我的
$location.path()
不起作用,因此我保留了
$scope.$apply
,之后它让我导航。。。(当我将它保存在控制器中时,它正在工作)

但是当我把它放在运行中时,它的抛出错误是关于
$scope
(但是没有$scope就没有导航)

我认为除了运行代码之外没有其他选择。。。但是,
$scope
不起作用

有没有其他方法,比如将代码放入函数中并从run调用
(我们可以调用一个从运行到服务的方法吗)?

您需要使用
$route.reload()

而不是
$scope.$spply()

并且必须在全局中指定
$route

 if(prevPath=='/menupage')
        {

                $location.path('/restaurant');
                $scope.$apply() ;
                    }

        else if(prevPath=='/restaurant')
        {

                $location.path('/login');
        $scope.$apply() ;

        }

        else if(prevPath=='/menucategory')
        {

                $location.path('/menupage');
        $scope.$apply() ;       
        }

        else if(prevPath=='/menucategorylist')
        {

                $location.path('/menucategory');
        $scope.$apply() ;
        }

        else if(prevPath=='/shoppingcart')
        {

                $location.path('/menucategory');
            $scope.$apply() ;
        }

        else (prevPath=='/item')
        {

                $location.path('/menucategory');
        $scope.$apply() ;

        }
if(prevPath=='/menupage')
        {

                $location.path('/restaurant');
                $route.reload();
                    }
.
.
.