使用AngularJS工厂和控制器会产生未定义的错误

时间:2016-04-25 16:48:02

标签: angularjs angularjs-scope angular-controller

我在AngularJS中有一个非常基本的工厂和控制器,从Stack Overflow上的另一篇文章中获取它

var app = angular.module( 'testapp', [] );
app.factory('commonService', function ($scope) {
  var obj= {};
  obj.func = function () {
    console.log('route 1');
  }
  obj.func1 = function () {
    console.log('route 2');
  }
  return obj;
});
app.controller('FirstController', function ($scope, commonService) { 
  console.log('route 1' + commonService.func());  
});
app.controller('SecondController', function ($scope, commonService) { 
  console.log('route 2' + commonService.func1());  
});

由于某些原因,这一直给我错误未知提供者:$ scopeProvider< - $ scope< - commonService

我正在尝试使用工厂来清理我的代码并重新使用控制器中的某些功能;我尝试过使用服务并获得了相同的结果。

1 个答案:

答案 0 :(得分:1)

问题是你正在向工厂注入$ scope但它无法访问你的$ scope。将$ scope传递到你的工厂并没有多大意义。看看this.