【发布时间】:2016-11-11 06:29:04
【问题描述】:
我正在尝试在我的应用程序中使用 AngularJS,并在一定程度上取得了成功。
我能够获取数据并将其显示给用户。我在ng-repeat 中有一个按钮,我想通过它发布删除请求。下面是我的代码。
<div class="navbar-collapse collapse">
<table class="table table-striped" ng-controller="FetchViewData">
<tr>
<td>Name</td>
<td>ID</td>
<td>Department</td>
<td></td>
</tr>
<tr ng-repeat="d in viewData">
<td>{{d.EmployeeName}}</td>
<td>{{d.EmployeeID}}</td>
<td>{{d.EmployeeDepartment}}</td>
<td>
<button class="trashButton" type="button"
name="view:_id1:_id2:_id14:_id24:btnDelete"
id="view:_id1:_id2:_id14:_id24:btnDelete"
ng-click="deleteRecord('{{d['@link'].href}}')">
<img src="/trashicon.gif"></button>
</td>
</tr>
</table>
</div>
这是获取信息并将其显示给用户的FetchViewData 函数。
function FetchViewData($scope, $http) {
var test_link = "<MY LINK>";
$http.get(test_link).success( function(data) {
$scope.viewData = data;
});
}
数据被提取并正确显示。
但ng-click="deleteRecord('{{d['@link'].href}}')" 中的代码在单击删除按钮时不会触发。在 Google Chrome 的开发人员工具中,我可以看到为代码 {{d['@link'].href}} 生成了有效值,但代码 deleteRecord 没有被触发。从this question 我试着去掉大括号,只写d['@link'].href 但它对我不起作用。
当我将 ng-click 替换为 onclick 时,deleteRecord 函数被触发。
function deleteRecord(docURL) {
console.log(docURL);
$http.delete(docURL);
}
然后我收到以下错误。
Uncaught ReferenceError: $http is not defined
deleteRecord
onclick
我正在使用 jQuery 1.10.2 和 AngularJS v1.0.8。
【问题讨论】:
标签: javascript jquery angularjs