Javascript 角度:service.setData不是函数
为什么angular告诉我setData不是一个函数Javascript 角度:service.setData不是函数,javascript,angularjs,function,Javascript,Angularjs,Function,为什么angular告诉我setData不是一个函数 angular.module('mdl').factory('DataService', ['$http', '$cookieStore', '$rootScope', function ($http, $cookieStore, $rootScope) { return { setData: function (data) { $rootScope.data =
angular.module('mdl').factory('DataService', ['$http', '$cookieStore', '$rootScope',
function ($http, $cookieStore, $rootScope) {
return {
setData: function (data) {
$rootScope.data = data;
},
};
}
]);
这是我的控制器,它调用setData
angular.module('mdl').controller('DataCtrl', ['$scope', '$http', '$location', '$rootScope', 'DataService',
function($scope, $http, $location, DataService) {
$scope.getData = function (id) {
$http.post('/rest/data/get', id)
.success(function (data, status, headers, config) {
DataService.setData(data);
$location.path('/main');
})
.error(function (data, status, headers, config) {
});
};
}
])) 当您在服务中声明一个函数时,您应该将此引用传递给函数。你也可以这样做
angular.module('mdl').factory('DataService', ['$http', '$cookieStore', '$rootScope',
function ($http, $cookieStore, $rootScope) {
this.setData: function (data) {
return data;
}
}
]);
在控制器中,将此工厂作为依赖项并调用工厂的函数,如
$scope.data = DataService.setData();
您不应该使用
$rootScope
。当您在服务中声明一个函数时,您应该使用上面的调用,您应该将此引用传递给函数。你也可以这样做
angular.module('mdl').factory('DataService', ['$http', '$cookieStore', '$rootScope',
function ($http, $cookieStore, $rootScope) {
this.setData: function (data) {
return data;
}
}
]);
在控制器中,将此工厂作为依赖项并调用工厂的函数,如
$scope.data = DataService.setData();
您不应该使用
$rootScope
。当您在服务中声明一个函数时,您应该使用上面的调用,您应该将此引用传递给函数。你也可以这样做
angular.module('mdl').factory('DataService', ['$http', '$cookieStore', '$rootScope',
function ($http, $cookieStore, $rootScope) {
this.setData: function (data) {
return data;
}
}
]);
在控制器中,将此工厂作为依赖项并调用工厂的函数,如
$scope.data = DataService.setData();
您不应该使用
$rootScope
。当您在服务中声明一个函数时,您应该使用上面的调用,您应该将此引用传递给函数。你也可以这样做
angular.module('mdl').factory('DataService', ['$http', '$cookieStore', '$rootScope',
function ($http, $cookieStore, $rootScope) {
this.setData: function (data) {
return data;
}
}
]);
在控制器中,将此工厂作为依赖项并调用工厂的函数,如
$scope.data = DataService.setData();
您不应该使用
$rootScope
。您应该使用上面的调用来替换DataService.setData(data)代码>带有LoginService.setData(数据)代码>在控制器中,因为在作为参数传入时已重命名工厂。替换DataService.setData(数据)代码>带有LoginService.setData(数据)代码>在控制器中,因为在作为参数传入时已重命名工厂。替换DataService.setData(数据)代码>带有LoginService.setData(数据)代码>在控制器中,因为在作为参数传入时已重命名工厂。替换DataService.setData(数据)代码>带有LoginService.setData(数据)代码>在控制器中,因为作为参数传入时已重命名工厂。依赖项注入有问题,您声明了6项,而在函数中有5项。缺少的是数据服务
['$scope', '$http', '$location', '$rootScope', 'DataService',
function($scope, $http, $location, $rootScope /*Missing*/, DataService) {
…
}
依赖项注入有一个问题,您声明了6项,而在您的函数中有5项。缺少的是数据服务
['$scope', '$http', '$location', '$rootScope', 'DataService',
function($scope, $http, $location, $rootScope /*Missing*/, DataService) {
…
}
依赖项注入有一个问题,您声明了6项,而在您的函数中有5项。缺少的是数据服务
['$scope', '$http', '$location', '$rootScope', 'DataService',
function($scope, $http, $location, $rootScope /*Missing*/, DataService) {
…
}
依赖项注入有一个问题,您声明了6项,而在您的函数中有5项。缺少的是数据服务
['$scope', '$http', '$location', '$rootScope', 'DataService',
function($scope, $http, $location, $rootScope /*Missing*/, DataService) {
…
}
您能看到调用setData的代码吗?在控制器中使用DataService.setData或DataService对象name@MathieuBertin添加了控制器代码。您能看到调用setData的代码吗?在控制器中使用DataService.setData或DataService对象name@MathieuBertin添加了控制器代码。您能看到您调用的代码吗控制器中的setData?使用DataService.setData或DataService对象name@MathieuBertin添加了控制器代码。您能看到调用setData的代码吗?在控制器中使用DataService.setData或DataService对象name@MathieuBertin添加了控制器代码。但这是服务,我使用的是工厂。我需要使用$rootScope
。但这是服务,我使用的是工厂。我需要使用$rootScope
。但这是服务,我使用的是工厂。我需要使用$rootScope
。但这是服务,我使用的是工厂。我需要使用$rootScope
。