【问题标题】:Injecting First Angular Factory注入第一个 Angular 工厂
【发布时间】:2015-06-05 18:10:06
【问题描述】:

我的第一个 Angular Factory 已经过期了。 . .

我的代码:

.factory('Debts', function($q, $scope){
     return MA;
 })

.controller('Admin', function ($scope, Debts) {
      $scope.Debts = Debts;
      $scope.Debts.MA();
})

在我的工厂使用 $scope 时,我收到以下错误: 未知提供者:$scopeProvider

我在某处读到我们不应该在工厂中包含 $scope,但是当我将其取出时出现两个错误:

1) 提供者“债务”必须从 $get 工厂方法返回一个值 2)Uncaught ReferenceError: $scope is not defined

我工厂的代码有几百行,是的,它引用了 $scope 和 $q。请让我知道我需要更改哪些内容才能完成这项工作。

【问题讨论】:

  • 你在 Depts 工厂代码中写为返回值的“MA”是什么?
  • 什么是MA?而且您不应该在服务中使用$scope。你必须重构才能不使用它。
  • 我可以取出 $scope。 MA 是一个对象数组。关于 $get 的另一个错误呢?
  • 你能给我们举个关于 plunker 的例子吗?
  • $scope仅适用于控制器和directives的链接功能

标签: javascript angularjs dependency-injection factory


【解决方案1】:

$scope仅适用于controllersdirectives的链接功能。这就是为什么工厂找不到它的原因。也许你的意思是$rootScope

.factory('Debts', function($q, $rootScope){
     return MA;
 })

???

【讨论】:

  • 我仍然收到 $get 工厂方法错误。我刚刚被告知我不能在服务中使用 $scope 。 . .那么是哪一个呢?在这种情况下,它在工厂中是次要的,并且很容易重构。
  • 是的,我仍然收到 $get 工厂方法错误。帮助...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多