g1er / Andrew

0 stars 0 forks source link

Дву-сторонние связи Angular #32

Open IgorKulishov opened 5 years ago

IgorKulishov commented 5 years ago

Источник https://angular.io/guide/template-syntax#ngModel 1. FormsModule необходим перед использованием ngModel

Перед тем как использовать ngModel необходимо импортировать FormsModule из @angular/forms и добавить в "imports" внутри декоратора @NgModule:

import { NgModule } from '@angular/core';
import { BrowserModule }  from '@angular/platform-browser';
import { FormsModule } from '@angular/forms'; // <--- JavaScript import from Angular

/* Other imports */

@NgModule({
  imports: [
    BrowserModule,
    FormsModule  // <--- import into the NgModule
  ],
  /* Other module metadata */
})
export class AppModule { }

2. Использование ngModel ngModel помещается внутри квадратных и круглых скобок (часто что бы запомнить синтаксис - говорят помещяем банан а коробку "[()]" - т.к. напоминает по форме ):

<input [(ngModel)]="currentHeroName" type="text">

3. Создаем переменную внутри компоненты

Создаем переменную внутри компоненты:

public currentHeroName: string;

Далее мы сможем читать и передавать данные свойству "this.currentHeroName" внутри класса: Это позволит показать в поле input предварительный текст:

this.currentHeroName = "please enter your name";

4. Альтернативный вариант Точно такого же результата можно было бы достичь, если отдельно записать :

<input [value]="currentHero.name"
       (input)="currentHero.name=$event.target.value" >
g1er commented 5 years ago

Бро, извини, немного не по теме, снова насчет git. Я сейчас, проходя уроки, практикуюсь по каждой пройденной теме, чтобы лучше запомнить. Потом все это коммичу в гит в свой бренч develop-andrey. И каждый раз, когда я пишу git add . мне выдается вот такое предупреждение:

warning: LF will be replaced by CRLF in angular/develop-andrey/src/app/swm/swm.component.html.
The file will have its original line endings in your working directory.
warning: LF will be replaced by CRLF in angular/develop-andrey/src/app/swm/swm.component.ts.
The file will have its original line endings in your working directory.

Что это значит, что ему не нравится?

IgorKulishov commented 5 years ago

Спасибо что спросил.

  1. Это происходит в зависимости от настроек редактора и/или git
  2. История Оба этих обозначения берут начало из старых редакторов, которые в свою очередь унаследовали формат команд электронных печатных машинок (телепринтеров или TTY машин):
    • CR = Carriage Return - переход каретки машинки на начало новой строчки
    • LF = Line Feed - прокрутки бумаги наверх

Современные редакторы сами распознают конец строки и соответственно отображают их.

  1. Решение
    git config --global core.autocrlf false

    Т.о. мы предотвратим автоматическое форматирование. Так же можно форматировать в файле .gitattributes и core.eol директив.