资源:
这是我用于Update功能的资源。我无法在我的资源(用Java编写)
中调用Update方法>>> from copy import deepcopy
>>> x = [[7, 8], 3, "hello", [6, 8], "world", 17]
>>> x = [[7, 8], 3, "hello", [6, 8], "world", 17]
>>> w = deepcopy(x)
>>> w[0][1] = 5
>>> print(w)
[[7, 5], 3, 'hello', [6, 8], 'world', 17]
>>> print(x)
[[7, 8], 3, 'hello', [6, 8], 'world', 17]
更新公司职能:
首先,我将所有公司都放在一个数组中,然后我尝试在数组中的特定公司上调用更新操作
行问题:" updateCompany。$ updateCompany(company,function(){"
TypeError:updateCompany未定义
c.adminCompaniesResource = $resource("api/admin/companies/:id",{"id":"@id"},{
"updateCompany": {method:"PUT"}
});
答案 0 :(得分:0)
您的代码似乎没有问题。错误消息几乎是解决问题的方法。对函数c.updateCompanyForm()
的调用正在向其发送undefined
值。这导致失败。如果您可以提供完整的代码片段,则可以找到错误源。
我试图用虚函数模拟你的代码。
<html>
<head>
<title>Test</title>
</head>
<body>
<script>
var c = {
companyFields: {
id: 10
},
adminAllCompaniesResource: {
query: function(fields, callback) {
callback();
return [{
id: 10
}];
}
}
};
c.allCompanies = [
{id: 10}
];
c.updateCompanyForm = function(company) {
const updateCompany = company;
c.allCompanies = c.adminAllCompaniesResource.query(c.companyFields, function() {
c.allCompanies.forEach(function(company){
if (c.companyFields.id == company.id) {
company.id = c.companyFields.id;
company.password = c.companyFields.password;
company.email = c.companyFields.email;
updateCompany.$updateCompany(company, function() {
//problem here
c.companyFields.id = company.id;
c.companyFields.compName = company.compName;
c.companyFields.password = company.password;
c.companyFields.email = company.email;
c.updateCompanyTableDiv = true;
c.updateCompanyExceptionDiv = false;
}, function() {
c.error("Request could not be completed");
c.updateCompanyExceptionDiv = true;
c.updateCompanyTableDiv = false;
});
}
})
}, function() {
c.error("Request could not be completed")
c.getAllCompaniesExceptionDiv = true;
c.getAllCompaniesTableDiv = false;
});
}
//Test 1: This should show message "Here"
c.updateCompanyForm({id: 10, $updateCompany: function() {alert('Here')}});
//Test 2: This will produce error
c.updateCompanyForm(undefined);
</script>
</body>
</html>
希望这能让您了解问题何时开始传播。