我有以下 Controller 以
的形式给我带来麻烦TypeError: $resource is not a function
指向 var Activities = $resource('/api/activities');
app.controller('AddActivityCtrl',['$scope','$resource','$location','$rootScope',
function($scope, $rootScope, $resource, $location){
console.log($scope.user.email);
//$scope.activity.user = $rootScope.user.email;
$scope.save = function(){
var Activities = $resource('/api/activities');
$scope.activity.events = [];
Activities.save($scope.activity, function(){
$location.path('/')
})
}
}
]);
它曾经运行良好,但我刚刚测试了这个功能以及自从我上次测试以来我所做的一些事情似乎已经破坏了它。这可能是什么原因造成的?
以下来自app.js
var activities = require('./routes/activities');
app.use('/api/activities', activities);
在我的 activities.js 中有
//API point for listing all existing activities
router.get('/', function(req, res){
var collection = db.get('Activity');
//collection.find({}, function(err, activities){
collection.find({user:req.user.email}, function(err, activities){
if (err) throw err;
res.json(activities);
});
});
...
最佳答案
问题似乎与注入(inject)顺序有关
app.controller('AddActivityCtrl',['$scope','$resource','$location','$rootScope',
function($scope, $rootScope, $resource, $location){
您将 $resource
作为第二个服务注入(inject),但将 $rootScope
作为第二个参数传递。
注入(inject)顺序和参数必须匹配
['$scope','$resource','$location','$rootScope',
function($scope, $resource, $location, $rootScope){..}
关于javascript - AngularJS 类型错误 : $resource is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38045583/