angularjs - 注入(inject) Controller 给出空对象 AngularJS

标签 angularjs

我有一个 AngularJS 应用程序,我正在尝试测试它。问题是,每当我尝试注入(inject) Controller 时,它都会给我一个空对象。

beforeEach( inject(function($rootScope, $controller) {
   console.log($controller) // {}
   scope = $rootScope.$new();
   ctrl = $controller('MenuCtrl', {
     $scope: scope
   });
   console.log(ctrl) // {}
}));

我在 JsFiddle 中附上了我的设置示例和一些注释,我非常感谢一些帮助来解决这个问题。

Fiddle

编辑:我也尝试过这样做:

beforeEach(angular.mock.module('Controllers'));

然后我得到: 错误:没有模块: Controller

这解决了该问题:

beforeEach(angular.mock.module('controllers'));

最佳答案

感谢彼得培根 Darwin 在 Angular mailing list 寻找解决方案。我试图在 Controller 上调用 changeView() 。不过,具有此功能的是作用域,而不是 Controller 。

再次感谢。

关于angularjs - 注入(inject) Controller 给出空对象 AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15006084/

相关文章:

javascript - 动画完成后旋转的图标会弹回

javascript - 使用Protractor进行AngularJS测试-使用browser.wait()

c# - 错误 : ngModel:datefmt Model is not a date object

node.js - 如何补救 "Error: Cannot find module ' child-process-close'"?

iis-7 - 为 AngularJS HTML5Mode 配置 IIS URL 重写模块仍然无法正常工作

angularjs - 为什么 Zone.js 会改变 AngularJS 评估属性的方式?

javascript - 带有外部参数 Angular 的 Ajax

javascript - Google 的 Polymer 是一个功能齐全的前端框架来替代或补充其他前端框架吗?

angularjs - 如何加载 Angular UI Bootstrap 和依赖项

angularjs - 如何使用 Google Analytics 跟踪用户 ID 并且登录后不重新加载页面?