Привет, если вы хотите узнать о CRUD-операциях в AngularJS, то это подходящее место для вас. Эта статья проведет вас через операции CRUD в AngularJS и объяснит, как их использовать.

В статье будут рассмотрены следующие темы:

  • Что такое AngularJS?
  • Особенности AngularJS
  • Что такое CRUD-операции?
  • Как реализовать операции CRUD в AngularJS?

Итак, приступим.

Что такое AngularJS?

AngularJS - это среда разработки внешнего интерфейса с открытым исходным кодом, которая реализует архитектуру Model-View-Control. AngularJS основан на TypeScript, который является надмножеством JavaScript. Он разработан и поддерживается Google. Это, пожалуй, один из самых популярных фреймворков, доступных сегодня, главным образом потому, что он пользуется полной поддержкой Google и учитывает последние тенденции рынка. AngularJS в основном используется для разработки одностраничных приложений.

Особенности AngularJS

  1. MVC - этот фреймворк основан на широко используемой концепции MVC (Model-View-Control). Этот шаблон проектирования используется практически во всех современных веб-приложениях. MVC основан на разделении уровня бизнес-логики, уровня данных и уровня представления на отдельные разделы. Это уменьшает путаницу и помогает управлять каждым разделом отдельно.
  2. Привязка модели данных. Нет необходимости писать специальный код для привязки данных к элементам управления HTML. Этого можно добиться с помощью AngularJS, добавив всего несколько фрагментов кода.
  3. Написание меньшего количества кода. Раньше для манипуляций с DOM требовалось писать много JavaScript для разработки любого приложения. Но с AngularJS для манипуляций с DOM требуется гораздо меньше кода.
  4. Готово к модульному тестированию. Наряду с AngularJS разработчики Google также разработали платформу тестирования под названием «Karma», которая помогает в разработке модульных тестов для приложений AngularJS.

Что такое Crud Operations?

CRUD в основном означает Создать чтение, обновление, удаление данных с сервера или базы данных.

Как реализовать операции CRUD в AngularJS?

В этом руководстве мы научимся создавать демонстрационный проект для портала управления студентами, который позволит пользователю создавать, читать (просматривать), редактировать (обновлять) и удалять данные с помощью AngularJS. Сегодня на рынке так много редакторов, которые можно использовать для разработки angular, например, Webstorm, Aptana, Sublime Text, Eclipse IDE и т. Д. Вы можете использовать любой из них.

Основные термины, которые необходимо знать в этом руководстве:

  • Контроллер: это обычный объект javascript, который используется для управления данными приложения AngularJS.
  • Область: это часть привязки между представлением и контроллером. Это объект с определенными свойствами и методами.

Приступим к кодированию.

ШАГ1. Создайте файл student.html:

student.html:

  • Добавьте приведенный ниже сценарий в тег ‹head› файла HTML. Это ссылка на CDN, которая поможет начать работу с Angular.
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
  • Создайте файл angularCrud.js в той же папке и укажите на него тег скрипта:
/ajax.googleapi
  • Создайте форму для регистрации студентов.
<div ng-app="myapp" ng-controller="myctrl"> 
<!--ng-app directive is used to initialize an angular application -->
        <label>Name</label>
 
        <input type="text" name="name" ng-model="newStudent.name"/>
 
        <label>Address</label>
 
        <input type="text" name="address" ng-model="newStudent.address"/>
 
        <label>Dept.</label>
 
        <input type="text" name="dept" ng-model="newStudent.dept"/>
 
        <br/>
 
        <input type="hidden" ng-model="newStudent.id" />
 
        <input type="button" value="Save" ng-click="saveRecord()" class="btn btn-primary"/>

Примечание. Здесь при нажатии кнопки мы вызываем функцию saveRecord (), которую мы создадим в файле angularCrud.js, где определен контроллер.

  • Создайте таблицу, в которой будут отображаться данные учащихся, а также варианты обновления и удаления учащихся.
<table border="1" bordercolor="blue">
 
            <tr style="color:blue">
 
                <th style="width:150px">Name</th>
 
                <th style="width:150px">Address</th>
 
                <th style="width:150px">Dept</th>
 
                    <th>Action</th>
 
            </tr>
 
            <tr style="color:pink" ng-repeat="student in students">
 
                <td>{{ student.name }}</td>
 
                <td>{{ student.address }}</td>
 
                <td>{{ student.dept }}</td>
 
                <td>
 
 
                    <a  href="#" ng-click="edit(student.id)">edit</a> | 
 
                    <a href="#" ng-click="delete(student.id)">delete</a>
 
                </td>
 
            </tr>
 
        </table>

Примечание: - В первой строке мы добавили еще один заголовок «Действие». Во второй строке мы добавили еще один столбец, в котором используются два якоря.

Первая ссылка привязки предназначена для функции «Редактировать», а вторая ссылка привязки предназначена для функции «Удалить». Идентификатор ученика передается в зависимости от якорей, другими словами, где бы ни были размещены якоря, одновременно с этим идентификаторы будут переданы в функцию.

  • Теперь наша модель представления, например, student.html, обновлена, и ее код выглядит следующим образом:
<!DOCTYPE html>
<html>
<head>
 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<script src="angularCrud.js"></script>
<title>Student Management Portal</title>
 
 
</head>
<body>
 
<div ng-app="myapp" ng-controller="myctrl">
 
        <label>Name</label>
 
        <input type="text" name="name" ng-model="newStudent.name"/>
 
        <label>Address</label>
 
        <input type="text" name="address" ng-model="newStudent.address"/>
 
        <label>Dept.</label>
 
        <input type="text" name="dept" ng-model="newStudent.dept"/>
 
        <br/>
 
        <input type="hidden" ng-model="newStudent.id" />
 
        <input type="button" value="Save" ng-click="saveRecord()" class="btn btn-primary"/>
 
        <br />
 
        <br />
 
        <table border="1" bordercolor="blue">
 
            <tr style="color:blue">
 
                <th style="width:150px">Name</th>
 
                <th style="width:150px">Address</th>
 
                <th style="width:150px">Dept</th>
 
                    <th>Action</th>
 
            </tr>
 
            <tr style="color:pink" ng-repeat="student in students">
 
                <td>{{ student.name }}</td>
 
                <td>{{ student.address }}</td>
 
                <td>{{ student.dept }}</td>
 
                <td>
 
                    <a  href="#" ng-click="edit(student.id)">edit</a> | 
 
                    <a href="#" ng-click="delete(student.id)">delete</a>
 
                </td>
 
            </tr>
 
        </table>
 
    </div>
 
</body>
 </html>

ШАГ 2. Создайте файл angularCrud.js, который будет нашим контроллером.

  • Создайте модуль angular и укажите ему имя
var app=angular.module('myapp',[]);
  • Создайте контроллер
app.controller('myctrl',function($scope){});

Теперь мы создадим все функции CRUD одну за другой

  • СОЗДАТЬ ФУНКЦИЮ:
$scope.saveRecord = function () {
 
if ($scope.newStudent.id == null) {
 
$scope.newStudent.id = empid++;
 
$scope.students.push($scope.newStudent);
 
} else {
 
for (i in $scope.students) {
 
if ($scope.students[i].id == $scope.newStudent.id) {
 
$scope.students[i] = $scope.newStudent;
 
}
 
}
 
}
 
$scope.newStudent = {};
 
}

Функция saveRecord () выполняет две задачи. Во-первых, если это новый студент, мы берем свойства newStudent, полученные из шаблона, и помещаем этот объект в коллекцию локальных адресов. Затем набор адресов назначается набору модели в представлении.

  • РЕДАКТИРОВАТЬ и УДАЛИТЬ ФУНКЦИИ:

Во-первых, мы предоставили функцию удаления. Для этого мы создали функцию с названием «удалить». В этой функции передается идентификатор ученика, если идентификатор правильно совпадает с одним из существующих идентификаторов, то операция удаления будет выполнена, и эта запись будет удалена.

Точно так же мы создали функцию «Редактировать». В этой функции также будет передан идентификатор ученика, но на этот раз данные, связанные с этим идентификатором, не будут удалены, вместо этого они будут переданы обратно в соответствующие поля ввода, чтобы пользователь мог вносить изменения, и когда пользователь нажимает кнопку кнопку сохранить, данные снова будут сохранены в той же позиции Id, что и ранее.

  • Теперь обновленный скрипт angularCrud.js выглядит так -
$scope.delete = function (id) {
 
for (i in $scope.students) {
 
if ($scope.students[i].id == id) {
 
$scope.students.splice(i, 1);
 
$scope.newStudent = {};
 
}
 
}
 
}
 
$scope.edit = function (id) {
 
for (i in $scope.students) {
 
if ($scope.students[i].id == id) {
 
$scope.newStudent = angular.copy($scope.students[i]);
 
}
 
}
 
}

Вывод:

На этом мы подошли к концу этого блога об операциях CRUD в AngularJS. Я надеюсь, что чтение этого блога поможет вам в решении ваших проблем, связанных с операциями CRUD, и даст вам возможность использовать операции CRUD в AngularJS.

Продолжайте посещать, продолжайте учиться!

Если вы хотите ознакомиться с другими статьями о самых популярных технологиях на рынке, таких как искусственный интеллект, Python, этический взлом, посетите официальный сайт Edureka.

Обязательно обратите внимание на другие статьи в этой серии, которые объяснят различные другие аспекты веб-разработки.

1. Учебное пособие по ReactJS

2. Компоненты React

3. Учебное пособие по React Router v4

4. Учебное пособие по React Redux

5. Учебное пособие по Angular

6. Учебное пособие по угловым директивам

7. Анимация приложений AngularJS с помощью директивы ngAnimate

8. Учебник по PHP

9. Учебное пособие по JQuery

10. Учебное пособие по NodeJS

11. 10 лучших фреймворков JavaScript

12. Создайте приложение CRUD с использованием Node.js и MySQL

13. Создание приложения CRUD с использованием Node.JS и MongoDB

14. Создайте REST API с помощью Node.js

15. 3 лучших способа делать запросы на Node.js

16. HTML против HTML5

17. Что такое REST API?

18. Flutter против React Native

19. Как докеризовать приложение Node.js?

Первоначально опубликовано на https://www.edureka.co 22 августа 2019 г.