Files
freeCodeCamp/guide/russian/javascript/angularjs-interview-questions/index.md
2019-04-10 21:41:49 +04:00

9.3 KiB
Raw Blame History

title, localeTitle
title localeTitle
Angularjs Interview Questions Вопросы интервью Angularjs

Вопросы интервью Angularjs

Вот список понятий, которые часто задают в интервью Angularjs.

  • Что такое AngularJS?
  • Что такое Модель-Представление-Контроллер (MVC)?
  • Двусторонняя привязка данных
  • Что такое инъекция зависимости и как она работает?
  • Что такое $scope в AngularJS?
  • Что такое $rootScope в AngularJS?
  • Как реализовать роутинг в AngularJS?
  • Объясните, что такое директивы
  • Как мы можем создать собственную директиву в Angular?
  • Объясните разницу между service и factory
  • Объясните как работает сервис $q, deferred и promises

Примеры вопросов и ответов

Вопрос: Перечислите Директивы в AngularJS? Ответ: ngBind, ngModel, ngClass, ngApp, ngInit, ngRepeat

Вопрос: Что такое $scope в AngularJS? Ответ: $scope в AngularJS - это объект, который относится к модели приложения. Это объект, который связывает представление (элемент DOM) с контроллером. В контроллере доступ к данным модели осуществляется через объект $scope. Как известно, AngularJS поддерживает шаблон MV *, объект $scope становится моделью MV *.

Вопрос: Что такое SPA (одностраничное приложение) в AngularJS? Ответ. Одностраничные приложения (SPA) - это веб-приложения, которые загружают одну страницу HTML и динамически обновляют эту страницу, когда пользователь взаимодействует с приложением. SPA используют AJAX и HTML для создания гибких веб-приложений без постоянной перезагрузки страницы. Однако это означает, что большая часть работы происходит на стороне клиента, в JavaScript. Одна страница HTML здесь означает страницу ответа UI с сервера. Источником могут быть ASP, ASP.NET, ASP.NET MVC, JSP и т. д. Однако одностраничное веб-приложение поставляется в виде одной страницы в браузере и обычно не требует перезагрузки страницы, поскольку пользователь переходит к различным частям приложения. Это обеспечивает более быструю навигацию, более эффективное использование сетевых ресурсов и лучшую общую производительность для конечного пользователя.

Вопрос: Что такое роутинг в AngularJS? Ответ. Роутинг является основной функцией в AngularJS. Эта функция полезна при создании SPA (Single Page Application) с несколькими представлениями. В приложении SPA все представления - это разные HTML-файлы, и мы используем роутинг для загрузки различных частей приложения. Это также позволяет разделить приложение логически и сделать его управляемым. Другими словами, роутинг помогает нам разделить наше приложение на логические представления и связать их с разными контроллерами.

Вопрос: Объясните, как работает директива ng-repeat. Ответ. Директива ng-repeat является одной из наиболее часто используемых и полезных в AngularJs. Она выполняет итерацию по набору элементов и создает элементы DOM. Она постоянно контролирует модель для перерисовки шаблона в ответ на изменение данных.

Вопрос: В чем разница между ng-If и ng-show / ng-hide. Ответ: директива ng-If добавляет или удаляет элемент в DOM в зависимости от условия. В то время как дирекривы ng-show / ng-hide скрывают или показывают элемент DOM при помощи классов ng-hide / ng-show.

Вопрос: Как отменить тайм-аут с помощью AngularJS? Ответ: $timeout - обертка AngularJS для window.setTimeout, вы отменяете тайм-аут, применяя функцию:

$timeout.cancel(function (){ 
  // write your code. 
 }); 

Вопрос: Что такое инъекция зависимостей? Ответ: Dependency Injection (DI) - это шаблон разработки программного обеспечения, который касается того, как компоненты получают свои зависимости. Подсистема инжектора AngularJS отвечает за создание компонентов, разрешение их зависимостей и предоставление их другим компонентам по запросу.

Вопрос: Объясните директиву ng-App. Ответ. Директива ng-app запускает приложение AngularJS. Он определяет корневой элемент. Он автоматически инициализирует или загружает приложение, когда загружается веб-страница, содержащая приложение AngularJS. Он также используется для загрузки модулей AngularJS в приложении.

Вопрос: Объясните директиву ng-init Ответ. Директива ng-init инициализирует данные приложения AngularJS. Он используется, чтобы поместить значения в переменные, которые будут использоваться в приложении. Например: В приведенном ниже примере мы инициализировали массив стран, используя синтаксис JSON.


<div ng-app = "" ng-init = "countries = [{locale:'en-US',name:'United States'}, {locale:'en-GB',name:'United Kingdom'}, {locale:'en-FR',name:'France'}]"> 
   ... 
 </div> 

Вопрос: Как реализовать обмен данными между контроллерами? Ответ. Создайть сервис AngularJS, который будет хранить данные и предоставлять их контроллерам. Использование сервиса - самый чистый, быстрый и наиболее удобный для тестирования способ. Однако есть несколько других вариантов реализации обмена данными между контроллерами, например: - Использование событий - Использование $parent, nextSibling, controllerAs и т. д. Для прямого доступа к контроллерам - Использование $rootScope для добавления данных (не очень хорошая практика)

Вопрос: В чем разница между директивами ng-if и ng-show / hide? Ответ: ng-if будет создавать и отображать элемент DOM, когда его условие истинно, если условие ложно или изменяется на false, оно не создаст или уничтожит созданный. ng-show / hide всегда будут создавать элемент DOM, но применят к нему CSS свойства, чтобы скрыть или отобразить этот элемент.

Дополнительная информация:

Здесь вы можете найти другие вопросы и ответы: