我想从 ng repeat ui-route 中删除一个 td
I want to remove a td from ng repeat ui-route
好吧,我想做的很简单。
我有一个像这样的 table :
<table>
<tr ng-repeat="message in messages">
<td>{{message.id}}</td>
<td>{{message.subject}}</td>
<td>{{message.content}}</td>
<td>{{message.date}}</td>
</tr>
</table>
在我的 server.js 中,我这样写 api
app.delete('/messages/:id',function(req,res){
var idm = req.params.id
Message.find({
where : {
id : idm
}
})
.success(function(messsage) {
Message.destroy({
where :{
id :idm
}
})
.success(function(){
res.status(202).send('deleted message')
})
})
})
在控制器中我尝试使用
$scope.deleteMessage = function(message){
var idm=$state.id
$http.delete('/messages/'+idm,message)
.succes(function(){
$scope.status='deleted'
$state.go($state.current,{},{reload : true})
})
.error(function(){
$scope.status = 'not deleted'
})
}
当我单击按钮时,我在视图中又名:
<input type="number" ng-model="message.id" placeholder="Id to delete" />
代码在后端运行,它说:Executing delete from messages where id='undefined'。所以我想问题是我没有正确地传递 id。
我尝试使用 postman 对某个 id 发出删除请求并且它有效。
谢谢你的时间。
我假设您使用的是 angular ui-路由器。尝试将 $state.id
更改为 $stateParams.id
,猜测 $state
有 /messages/:id
作为 url。 More info
$scope.deleteMessage = function(message){
var idm=$stateParams.id
$http.delete('/messages/'+idm,message)
.succes(function(){
$scope.status='deleted'
$state.go($state.current,{},{reload : true})
})
.error(function(){
$scope.status = 'not deleted'
})
}
顺便说一句,(与问题无关)改进 server.js
文件的一种方法如下:
app.delete('/messages/:id',function(req,res){
var idm = req.params.id
Message.find(idm)
.success(function(messsage) {
message.destroy()
.success(function(){
res.status(202).send('deleted message')
});
});
});
或:
app.delete('/messages/:id',function(req,res){
var idm = req.params.id
Message.destroy({where: {id: idm}})
.success(function(affectedRows) {
if (affectedRows == 1) {
res.status(202).send('deleted message')
} else {
// something went wrong and none or more than one messages were deleted
}
});
});
原来如此简单:
$scope.deleteChampion = function(champion){ $http.delete('/champions/'+champion.id) $state.go($state.current,{},{reload : true}) } all i had to do was add " + champion.id
好吧,我想做的很简单。 我有一个像这样的 table :
<table>
<tr ng-repeat="message in messages">
<td>{{message.id}}</td>
<td>{{message.subject}}</td>
<td>{{message.content}}</td>
<td>{{message.date}}</td>
</tr>
</table>
在我的 server.js 中,我这样写 api
app.delete('/messages/:id',function(req,res){
var idm = req.params.id
Message.find({
where : {
id : idm
}
})
.success(function(messsage) {
Message.destroy({
where :{
id :idm
}
})
.success(function(){
res.status(202).send('deleted message')
})
})
})
$scope.deleteMessage = function(message){
var idm=$state.id
$http.delete('/messages/'+idm,message)
.succes(function(){
$scope.status='deleted'
$state.go($state.current,{},{reload : true})
})
.error(function(){
$scope.status = 'not deleted'
})
}
当我单击按钮时,我在视图中又名:
<input type="number" ng-model="message.id" placeholder="Id to delete" />
代码在后端运行,它说:Executing delete from messages where id='undefined'。所以我想问题是我没有正确地传递 id。
我尝试使用 postman 对某个 id 发出删除请求并且它有效。 谢谢你的时间。
我假设您使用的是 angular ui-路由器。尝试将 $state.id
更改为 $stateParams.id
,猜测 $state
有 /messages/:id
作为 url。 More info
$scope.deleteMessage = function(message){
var idm=$stateParams.id
$http.delete('/messages/'+idm,message)
.succes(function(){
$scope.status='deleted'
$state.go($state.current,{},{reload : true})
})
.error(function(){
$scope.status = 'not deleted'
})
}
顺便说一句,(与问题无关)改进 server.js
文件的一种方法如下:
app.delete('/messages/:id',function(req,res){
var idm = req.params.id
Message.find(idm)
.success(function(messsage) {
message.destroy()
.success(function(){
res.status(202).send('deleted message')
});
});
});
或:
app.delete('/messages/:id',function(req,res){
var idm = req.params.id
Message.destroy({where: {id: idm}})
.success(function(affectedRows) {
if (affectedRows == 1) {
res.status(202).send('deleted message')
} else {
// something went wrong and none or more than one messages were deleted
}
});
});
原来如此简单:
$scope.deleteChampion = function(champion){ $http.delete('/champions/'+champion.id) $state.go($state.current,{},{reload : true}) } all i had to do was add " + champion.id