Я вставляю компонент с формой ввода в форму ionic2, созданную с помощью formBuilder.Как получить доступ к полям ввода инжектируемого компонента формы
от ввода адреса компонента (поиск-map.ts):
@Component({
selector: 'search-map',
templateUrl: 'search-map.html'
})
@NgModule({
schemas: [ CUSTOM_ELEMENTS_SCHEMA ]
})
export class SearchMap {
public searchMapForm = this.formBuilder.group({
country: ["DE"],
postcode: ["", this.searchCont],
city: [""],
});
(...)
вставленные в HTML базовой формы (signup.html):
(...)
<ion-item>
<ion-label floating>Password</ion-label>
<ion-input type="password" formControlName="password"></ion-input>
</ion-item>
<search-map></search-map>
(...)
От базовой формы (signup.ts)
ionViewWillLoad() {
this.signup = this.formBuilder.group({
name: [this.name, Validators.required],
fullname: [this.fullname, Validators.compose([Validators.required, Validators.pattern('^[\\w-äöüßÄÖÜ]+(\\s[\\w-äöüßÄÖÜ]+)+$')])],
email: [this.email, Validators.compose([Validators.required, Validators.pattern('^(([^<>()\\[\\]\\\\.,;:\\[email protected]"]+(\\.[^<>()\\[\\]\\\\.,;:\\[email protected]"]+)*)|(".+"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$')])],
password: ['', Validators.compose([Validators.required, Validators.minLength(8)])],
passwordRepeat: ['', this.passwordCompare],
address: [this.address, Validators.required],
});
}
Редактировать и менять события отлично работают на обоих.
Как я могу прочитать поля ввода страны и почтового индекса из файла signup.ts (класс signupPage)?
#searchMap в HTML не представляется необходимым. – Michael
- это идентификатор тега поисковой карты, и этот идентификатор доступен в компоненте с viewChild. В противном случае он не сможет найти тег. –
sry .. ya это может быть не обязательно .. нормально использовать его, если вам нужно ссылаться на компонент в самом html. –