角度控制器内联注释语法

时间:2014-11-22 12:08:07

标签: angularjs

我有一个像这样定义的MyResource服务:

angular.module('resourceApp')
  .factory('MyResource', ['$resource', function($resource) {
      return $resource('/data');
}]);

然后我有一个使用MyResource作为依赖的控制器:

angular.module('resourceApp')
  .controller('MainCtrl', ['MyResource', function($scope, MyResource) {
    $scope.data = MyResource.get(); // <-- this is where the error occurs
}]);

当我像上面那样定义依赖性时,使用内联数组注释,我收到错误&#34; MyResource未定义&#34;在标有评论的行。

但是如果我将语法更改为隐式注释

angular.module('resourceApp')
  .controller('MainCtrl', function($scope, MyResource) {
    $scope.data = MyResource.get();
});

我以某种方式神奇地让事情发挥作用!

问题是:第一个出了什么问题?我可以留下隐含的注释,但文档说它不会在缩小时存活下来。

2 个答案:

答案 0 :(得分:1)

您忘了在数组中指定$ scope:

.controller('MainCtrl', ['$scope', 'MyResource', function($scope, MyResource) {

答案 1 :(得分:1)

你忘记了第一个中的$ scope,它应该是:

anguar.module('app').controller('CTRL', ['$scope', 'MyService', function($scope, Service)

目前您没有范围,$ scope变量实际上指向服务