【发布时间】:2013-05-28 10:10:23
【问题描述】:
我在 AngularJS 中编写了一个服务,但我无法让它与 angular-seed 的处理方式一起工作。
控制器代码如下:
/*function PhotoCtrl($scope, Photo) {
$scope.photos = Photo.query();
}*/
angular.module('myApp.controllers', []).
controller('PhotoCtrl', [function($scope,Photo) {
$scope.photos = Photo.query();
}])
.controller('MyCtrl2', [function() {
}]);
请注意,注释掉的部分可以正常工作,但我想处理它有点像(推荐的)第二种方式。
我得到的错误是照片是未定义的,所以我的猜测是我传递(注入)它的方法是错误的,但我不知道如何正确地做到这一点
【问题讨论】:
-
据我所知,第一种方法很好,我相信例如官方教程中显示的。您是否有任何来源表明其他情况?
-
“注意:文档中的许多示例显示了在全局范围内创建函数。这仅用于演示目的.......”来自docs.angularjs.org/guide/dev_guide.mvc.understanding_controller 似乎是这样说的.不要误会,我认为第一个更容易阅读,但我知道名称间距可能更好
-
如果您删除控制器函数定义
[function($scope,Photo) {}]周围的环绕方括号,您也可以,但如果您打算缩小代码,请不要这样做。更多关于dependencies injection in angular here -
@Maarten 谢谢,我不知道这一点。我想我得重写我的应用程序了:)
-
@KGChristensen 很高兴为您提供帮助 ;-)
标签: angularjs