Можно ли настроить поток данных Angular 2: NgModel с 2 односторонними привязками данных?
В Angular 2 возможно ли использовать ngModel как нечто вроде: " 2 односторонних привязки данных"?
Я пытаюсь добиться импорта от пользователей LinkedIn в качестве предложений, которые затем следует публиковать с помощью формы для другой модели.
В угловых документах указано, что:
Внутри [(ngModel)] Мы могли бы достичь того же результата с отдельными привязками к свойству value элемента input и событию input.
<!--From angular.io-->
<input [value]="currentHero.firstName"
(input)="currentHero.firstName=$event.target.value" >
Я подумал, что, возможно, найдется способ использовать ngModel с [value] и (input) в качестве двух отдельных потоков данных, что означает, что импорт выполняется из пользовательской модели, а затем публикуется в модели компании.
Ниже приведен фрагмент из моего кода:
<div class="form-group">
<label for="industry">Industry</label>
<input type="text" class="form-control"
[value]="user.linkedIn.positions.values[0].company.industry"
(input)="company.industries=$event.target.value"
name="industry" required>
</div>
Например, мой предыдущий код формы выглядел так:(Без какого-либо импорта или чего-либо еще. Базовый пост-запрос, который у меня есть, работает нормально, и в мою базу данных отправляется новая компания.)
<input type="text"
class="form-control"
[(ngModel)]="company.industries"
name="industry" required #name="ngModel">
Некоторый машинописный код:
getCurrentUser() {
this.userService
.getCurrentUser()
.then(user => this.user = user)
.catch(error => this.error = error);
}
submitted = false;
onSubmit() {
this.submitted = true;
this.companyService
.save(this.company)
.then(company => {
this.company = company;
this.goBack(company);
})
.catch(error => this.error = error);
}
Мое приложение узла на сервере аварийно завершает работу, когда выполняется фактический http-запрос, и, конечно, этого невозможно достичь с помощью ngModel, но я не знаю, поэтому я начинаю здесь. Другими словами... Должен ли ngModel быть привязан только к одной модели в angular 2 или я могу настроить его в соответствии со своими потребностями для импорта данных и отправки этих данных в другую модель? Я надеюсь это имеет смысл.
Итак, в основном мой вопрос: это какой-то плавный способ использования ngModel для такого рода привязки данных, или я согласен с этим?
Также: при импорте из LinkedIn я могу получить правильные данные из моей модели "пользователи".
1 ответ
Я не очень понимаю ваш вопрос. Может быть, вы ищете
[ngModel]="company?.industries" (ngModelChange)="company.industries = $event"