После двухчасовых поисков решения я решил спросить некоторых профессионалов, подозревающих, что решение может быть довольно простым.
Это проект Angular7.Я хотел бы иметь «цель» в компоненте целей с кнопкой «+».Когда вы нажимаете эту кнопку, я хочу добавить еще одну цель на страницу.Поэтому я хочу нажать на кнопку компонента цели, чтобы создать новую цель, которая для меня похожа на рекурсивную.
goal.component.html:
<input type="text" value="Ich brauche einen Laptop für maximal 1000 Euro.">
<br/>
<br/>
<app-goal id="{{lastGivenId+1}}"></app-goal>
goal.component.ts:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-goals',
templateUrl: './goals.component.html',
styleUrls: ['./goals.component.scss']
})
export class GoalsComponent implements OnInit {
lastGivenId: number = 0;
constructor() { }
ngOnInit() {
}
}
goal.component.ts и goal.component.html:
//Typescript code
import { Component, OnInit, Input } from '@angular/core';
@Component({
selector: 'app-goal',
templateUrl: './goal.component.html',
styleUrls: ['./goal.component.scss']
})
export class GoalComponent implements OnInit {
@Input() id : number;
constructor() { }
ngOnInit() {
}
onAddLowerGoal(currentGoalID:number){
// var goalElement = document.registerElement('app-goal');
// document.body.appendChild(new goalElement());
let newGoal = document.createElement("app-goal");
newGoal.setAttribute("id", "999");
let currentGoal = document.getElementById(currentGoalID.toString());
document.body.insertBefore(newGoal, currentGoal);
}
}
<html>
<div id="{{id}}" class="goal">goal{{id}}</div>
<button id="AddLowerGoal1" (click)="onAddLowerGoal(999)">+</button>
</html>
Таким образом, он создает элемент app-goal, но элементы div и button в элементе app-goal отсутствуют.Как можно решить эту проблему?Любая помощь приветствуется.Заранее спасибо.