我有一个 ng-app 和一个 ng-view。该应用有多个 Controller 。
从外部 Angular ,遗留 JS 代码,我想重定向某个 Controller 。
var e = document.getElementById('mApp');
var scope = angular.element(e).scope();
scope.$apply(function() { scope.$location.path("/account/login"); });
我试过 $scope.$location,它告诉我 $location 未定义,所以我一定是做错了什么。
最佳答案
$location
是 Angular 服务,它不是 $scope 的属性(除非您将它添加到其他地方)。要在您的应用之外获取 $location
,您可以使用 $injector
服务 - 如下所示:
var e = document.getElementById('mApp');
var $injector = angular.element(e).injector();
var $location = $injector.get('$location');
$location.path("/account/login");
关于javascript - angularjs从外部 Angular 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16450125/