Angular 7 двусторонняя привязка с атрибутом @input - PullRequest
1 голос
/ 21 марта 2019

У меня есть дочерний компонент, который получает значение атрибута от родительского компонента с помощью директивы @Input. проблема заключается в том, что двусторонняя привязка данных не работает с этим входным атрибутом. Любая идея, что может быть причиной этого?

класс дочерних компонентов

@Component({
  selector: 'app-edit-property',
  templateUrl: './edit-property.component.html',
  styleUrls: ['./edit-property.component.css']
})
export class EditPropertyComponent implements OnInit {

  @Input() property: any;

  constructor(
    private propertiesService: PropertiesService
  ) { }

  ngOnInit() {
  }

}

шаблон

<input type="text" class="form-control" required name="title" [(ngModel)]="property.title" #title="ngModel">

родительский компонент

<app-edit-property [property]='property'></app-edit-property>

Ответы [ 2 ]

5 голосов
/ 21 марта 2019

Для двусторонней привязки вы должны реализовать @Output с тем же именем атрибута, что и в качестве постфикса Change, как этот:

@Input() counter;
@Output() counterChange = new EventEmitter();

в HTML, вы добавляете [(counter)]="someValue"

И вы выдаете новое значение следующим образом:

this.counterChange.emit(this.counterValue);
0 голосов
/ 21 марта 2019

@ Входная директива предназначена для односторонней привязки.Вы только получаете значение в компонент, используя @Input.Используйте директиву @Output для передачи значения из компонента, чтобы родительский компонент получил значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...