Javascript 访问AngularJS中同一模块中的工厂
我想知道为什么我不能访问同一模块内的工厂 因为我认为构建一个具有不同独立模块的web应用程序更好,所以我想将所有方法(服务、工厂、指令等)分组到同一个模块中 我做错了什么Javascript 访问AngularJS中同一模块中的工厂,javascript,angularjs,Javascript,Angularjs,我想知道为什么我不能访问同一模块内的工厂 因为我认为构建一个具有不同独立模块的web应用程序更好,所以我想将所有方法(服务、工厂、指令等)分组到同一个模块中 我做错了什么 app = angular.module("MyGreatModuleProvider", []); app.factory("MyFactory", function($rootScope, $scope) { return { myFunction: function() { console.lo
app = angular.module("MyGreatModuleProvider", []);
app.factory("MyFactory", function($rootScope, $scope) {
return {
myFunction: function() {
console.log("Hello World");
}
}
});
app.controller("myCtrl", function($scope, MyFactory) {
MyFactory.myFunction();
// This doesnt't work, unknown provider
});
定义注入的对象名称,让角度对象知道要注入到字段中的内容:
app.controller("myCtrl", ['$scope', 'MyFactory', function($scope, MyFactory) {
MyFactory.myFunction();
}]);
这是一个很好的实践,尤其是当您要编译应用程序时
此外,正如其他人指出的:工厂没有$rootScope和$scope。工厂没有
$scope
如果删除
$scope
并仅保留$rootScope
它工作正常则可以从工厂声明中删除$scope
和$rootScope