Как получить значения с созданного мною с помощью Renderer2 input
Не судите строго код, пока что учусь, но не могу понять как получить значение с input, или как ему изначально привязать индификатор, или атрибут [(ngModel)] HTML:
<div class="container" #container>
<button *ngIf = 'active; else otvet' class="btn btn-outline-success" id="search" (click) = 'search()'>Знайти</button>
<ng-template #otvet>
<button id="answer" class="btn btn-outline-success" (click) = 'answer()'>Ответ</button>
</ng-template>
</div>
Angular:
import { Component, OnInit, NgModule, Renderer2, ViewChild, ElementRef } from '@angular/core';
@Component({
selector: 'app-ukr',
templateUrl: './ukr.component.html',
styleUrls: ['./ukr.component.css']
})
export class UkrComponent implements OnInit {
@ViewChild("container", {read: ElementRef}) private container: ElementRef;
constructor(private renderer: Renderer2) { }
result: string;
active: boolean = true;
schet : number = 0;
zadaniy: any = [
"с1нце",
"а1куш",
"бал1т",
"ва1он",
"ва1та",
"с1ово",
'узв1р',
"хо1як",
"те1ст",
"я1ода"
];
slova_otveta: any = [
"о",
"р",
"е",
"г",
"р",
"л",
"а",
"м",
"к",
"г"];
ngOnInit(): void {
}
zapolnit(){
for(let i = 0; i < 5; i++){
let bykva = this.zadaniy[this.schet][i];
if(bykva == '1'){
let dly_otveta = this.renderer.createElement('input');
this.renderer.addClass(dly_otveta, 'number');
this.renderer.setAttribute(dly_otveta, 'id', 'symb_otvet');
this.renderer.setProperty(dly_otveta, '([ngModel]', 'result');
this.renderer.appendChild(this.container.nativeElement, dly_otveta);
}
else{
let div = this.renderer.createElement('div');
let text = this.renderer.createText(this.zadaniy[this.schet][i]);
this.renderer.appendChild(div,text);
this.renderer.addClass(div,'number');
this.renderer.setAttribute(div,'id', 'symb' + i);
this.renderer.appendChild(this.container.nativeElement,div);
}
}
this.schet++;
}
search(){
this.zapolnit();
this.active = !this.active;
}
answer(){
console.log(this.result);// вот тут хочу ввывести то что написали в input но не могу понять как
return false;
}
}
Ответы (1 шт):
Автор решения: Danil Sereda
→ Ссылка
let dly_otveta = this.renderer.createElement('input');
dly_otveta - это твой input c у него есть dly_otveta.value