Я хочу использовать контентную проекцию, но я не могу заставить ее работать.Как я могу привязать свойство к прогнозируемому контенту в angular2?
HTML, является
<form [ngFormModel]="demoForm" (ngSubmit)="onSubmit()">
<my-form-group myLabel="Some Label">
<input type="text" [ngFormControl]="demoForm.controls['someInput'] [required]="true">
</my-form-group>
</form>
Компонент является
@Component({
selector: 'my-form-group',
template: `
<div class="form-group">
<label>{{myLabel}}<span *ngIf="required"> *</span></label>
<ng-content></ng-content>
</div>
`
})
export class MyFormGroup {
@Input() myLabel: string;
}
Как я могу связать * ngIf состояние в пролете к требуемым свойством проектируемого элемента ввода? Цель состоит в том, чтобы показать звездочку во внешнем компоненте, когда [требуется] становится истинным.
Редактировать: Я сделал - не работает - plunkr, чтобы показать, что я имею в виду.
Hallo Thierry, спасибо за ваш быстрый ответ. Я хочу разрешить изменение атрибутов, например, обязательный или отключенный, управляемый внешним компонентом. Если бы я добавил Validators.required в моей formbuilder.group, я бы сделал это жестко, не так ли? Мне кажется, я не могу использовать ваше сравнение с «this.state.validator», потому что не существует функции проверки подлинности, когда я использую для этого атрибут? – westor
Добро пожаловать! Итак, вы хотите использовать встроенное объявление валидаторов с 'ngControl', а не использование' FormBuilder'? Я спрашиваю, потому что вы используете 'ngFormModel' и' ngFormControl' ... –
Я думаю, что я его получаю ;-) Вы можете проверить, применяется ли 'RequiredValidator' на входе. Я обновил свой ответ соответственно ;-) –