Я пытаюсь использовать AngularJS в своем приложении и в некоторой степени добился успеха.
Я могу получить данные и отобразить их пользователю. И у меня есть кнопка в ng-repeat
, через которую я хочу отправить запрос DELETE. Ниже мой код, который делает это.
<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
не запускается. Из этот вопрос Я попытался удалить фигурные скобки и написать только 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.