我正在尝试混淆我的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”吗?