在使用AngularJS开发的过程中出现了如下的问题,一次贴记录下。
感觉也不能说是AngularJS的语法,应该说是JS里面的处理流程应该就是这样子,我现在想通过前端页面传递值到后端(通过方法传递),可是发现这个在后端接收的时候不能直接使用参数,必须使用形参.id(比如我需要传递id,那么我就必须item.id)
<a class="btn default btn-xs black" ng-click="deleteSchool({id:item.id})"> <i class="fa fa-trash-o"></i> 删除 </a>
就是上面的deleteSchool()方法,Angularjs里面的传递值方式就是那样。我以为后台直接接收id就OK。但是不行。把id打印出来会出现一个object对象。
$scope.deleteSchool=function(id){ console.log(id); }
出现这样的情况也就是说js在页面传递的时候在形参这里接收的是一个对象,不是一个单独的参数,我之前一直以为是一个参数而已。没想到是一个对象。我们可以通过F12看到具体的内容。
// 删除方法 $scope.deleteSchool=function(data){ console.log(data); var url='api/areas/school?id='+data.id; console.log(url); $http.delete(url) .then(function(response){ if(response){ abp.notify.success("删除成功","提示信息"); $state.go('schools') }else{ abp.notify.error("删除失败","提示信息"); $state.go('schools') } }); }
我们通过这样的对象就可以访问到值。之前我还一直在直接使用id,一直出错。这样就可以了。