当前运行的代码返回TypeError: Services.updateUserData.set is not a function
控制器
Services.updateUserData.set($rootScope.user);
Services.js
this.updateUserData = function() {
return {
set: function(data) {
console.log(data);
$http({
method: 'POST',
url: 'api/data/',
data: {'data': data},
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
}).success(function(data, status, headers, config) {
console.log(data);
}).error(function(data, status, headers, config) {
console.log(data);
});
}
}
}
下面的代码有效,但我更愿意在updateUserData
中设置一个get和set函数,这样我就不会重复工作了。
当前代码 的控制器
Services.updateUserData($rootScope.user);
Services.js
this.updateUserData = function() {
console.log(data);
$http({
method: 'POST',
url: 'api/data/',
data: {'data': data},
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
}).success(function(data, status, headers, config) {
console.log(data);
}).error(function(data, status, headers, config) {
console.log(data);
});
}
答案 0 :(得分:1)
updateUserData
是一个函数,因此没有名为set
的属性。该选项是将其转换为对象
this.updateUserData={set:function(){}}
或调用它
Services.updateUserData().set($rootScope.user);
访问set