我正在尝试混淆我的angularjs应用程序,并且它正在崩溃。我知道这是框架的问题,他们尝试通过$ inject方法进行补救。

http://docs.angularjs.org/tutorial/step_05请参见“缩小说明”部分。

为了解决这个问题,他们建议您进行YourController.$inject = ['$scope', '$http'];
我继续这样做,以匹配我的应用程序,如下所示:

AventosController.$inject = ['$scope','$http','$q','controllerComm'];
VforumController.$inject = ['$scope','$http','$timeout','controllerComm'];

好吧,它仍然无法正常工作。我在控制台中收到的错误是:
Error: Unknown provider: cProvider <- c <- controllerComm
无论如何要解决这个问题?

编辑

controllerComm
app.factory('controllerComm', ['$rootScope', function($rootScope)
{
  var showVforum    = {};
  showVforum.result = false;
  showVforum.prepBroadcast = function(val)
  {
    this.result = val;
    this.broadcastVal();
  }

  showVforum.broadcastVal = function()
  {
    $rootScope.$broadcast('toggleVforum')
  }
  return showVforum;
}]);

编辑2 在混淆后不起作用
$scope.launchVforum = function()
{
  $scope.installationVideo = ($scope.installationVideo) ? false : true;
  controllerComm.prepBroadcast($scope.installationVideo);
}

最佳答案

尝试注入(inject) Controller 定义。

app.controller('myCtrlr', ['$scope', '$http', '$q', 'controllerComm', function ($scope, $http, $q, controllerComm) {
    ...
}]); // end myCtrlr

还定义了“controllerComm”吗?

10-07 17:32