«Этот проект начался с Stack Overflow», — так начинает свой рассказ разработчик.

Stack Overflow известен большинству общественности как платформа, используемая программистами. Но сегодня он включает в себя больше, чем просто мир программного обеспечения. Я имею в виду, мы можем сказать, что это во всех сферах нашей жизни.

На него нажимают много раз в день многие люди в мире программного обеспечения. область использования; иногда создание проекта, иногда исправление синтаксической ошибки, иногда получение фрагмента кода и выход и многое другое.

Сегодня я поделюсь с вами самыми популярными вопросами, открытыми для Angular.

Давайте начнем!

Вопрос 1

Невозможно выполнить привязку к ‘ngModel’, так как это неизвестное свойство ‘input’

Это голосование 1774, 1,2 млн просмотров.

zone.js:461 Unhandled Promise rejection: Template parse errors:
Can't bind to 'ngModel' since it isn't a known property of 'input'. ("
   <div>
      <label>Created:</label>
      <input  type="text" [ERROR ->][(ngModel)]="test" placeholder="foo" />
   </div>
</div>"): InterventionDetails@4:28 ; Zone: <root> ; Task: Promise.then ; Value:

На самом деле проблема проста. Но это встречается много раз у многих людей. Этот тип ошибки обычно является ошибкой модуля. И если в ошибке упоминается [(ngModel)], это означает, что вам нужно импортировать FormsModule в ваш файл module.ts.

Откройте соответствующий файл модуля, содержащий ваш компонент, и

import { FormsModule } from '@angular/forms';

А затем напишите FormsModule в импорте.

вопрос 2

В чем разница между Promises и Observables?

Это голосование 1678, 647 тысяч просмотров

Ответ на картинке — это ответ, набравший наибольшее количество голосов.

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

И Promises, и Observables помогут нам работать с асинхронными функциями в JavaScript. Во многих случаях они очень похожи, однако между ними все же есть некоторые различия: промисы — это значения, которые разрешаются asynchronous способами, такими как вызовы HTTP. С другой стороны, наблюдаемые объекты имеют дело с последовательностью асинхронных событий. Основные различия между ними перечислены ниже:

Обещание:

  • Наличие одного трубопровода
  • Обычно используйте только с асинхронным возвратом данных
  • Не легко отменить

Наблюдаемый:

  • Могут быть отменены
  • Поддаются повторному испытанию по своей природе, например, повторная попытка и повторная попытка, когда
  • Потоковая передача данных в несколько конвейеров
  • Наличие операций, подобных массиву, таких как карта, фильтр и т. д.
  • Может быть создан из других источников, таких как события
  • Это функции, на которые можно подписаться позже.

Кроме того, я создал для вас графическое изображение ниже, чтобы визуально показать различия:

Вопрос 3

Разница между конструктором и ngOnInit

Это голосование 1315, 652 просмотров

Angular по умолчанию предоставляет хук жизненного цикла ngOnInit.

Зачем использовать ngOnInit, если у нас уже есть constructor?

ngOnInit вызывается сразу после вызова конструктора. Конструктор — это метод по умолчанию, определенный машинописным текстом. ngOnInit — это метод жизненного цикла.

Другими словами, как и во всех объектно-ориентированных языках, когда из класса создается новый объект, конструктор запускается первым. После создания компонента и привязки всего, что касается компонента, запускается ngOnInit.

Вопрос 4

Невозможно выполнить привязку к formGroup, так как это неизвестное свойство формы

Это голосование 1084, 965 тысяч просмотров

Собственно, ответ на вопрос такой же, как и в 1-м вопросе. Есть проблема с модулем. Поэтому ему нужно что-то импортировать в файл module.ts.

import { FormsModule, ReactiveFormsModule } from '@angular/forms';

Вопрос 5

Привязка углового HTML

Это голосование 1004, 662 просмотров

Я пишу приложение Angular, и у меня есть ответ HTML, который я хочу отобразить.

Как мне это сделать? Если я просто использую синтаксис привязки {{myVal}}, он кодирует все символы HTML (конечно).

Мне нужно как-то связать innerHTML из div со значением переменной.

<div [innerHTML]="theHtmlString"></div>

Лучшим способом является использование [innerHTML]. Angular, отличного от Javascript. Если вы используетеinnerHTML,, вы можете использовать с операциями привязки.

Чтение вопросов и изучение решений даст вам много информации. Поэтому чаще читайте и пересматривайте.

Спасибо, для получения дополнительной информации посетите Переполнение стека.













Больше контента на plainenglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку здесь.