javascript - angularjs从外部 Angular 重定向

标签 javascript angularjs

我有一个 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/

相关文章:

javascript - Vue3 在子组件中使用 v-model

javascript - 如何将提交按钮设置为表单的默认按钮

javascript - HighCharts 气泡图 JSON 作为数据源

google-chrome-extension - 在 Google Chrome 扩展中使用 AngularJS

javascript - 如何动态改变html标签?

javascript - 查找嵌套的 div 标签

angularjs - Typescript 接口(interface)属性从驼峰大小写更改为 Pascal 大小写

javascript - 导入存储在 Angular 工厂中的数组

angularjs - 设置范围值点击 Angular ?

javascript - Jasmine 单元测试中未分配全局变量