使用javascript / typescript代码,我正在尝试显示一个字符串(逐个字母),它完全正常。但是在完全显示一个字符串之后,它隐藏了元素,因此底部元素占用了那个看起来不太好的空间。无论是否包含字符串,我希望该空间永远存在。
您可以在此处播放:https://plnkr.co/edit/mbZDrlOSI1vnjIrSMcNq?p=preview
@Component({
selector: 'my-app',
template: `
<div>
<div #text1></div>
<div>Do you really think?</div>
</div>
`,
})
export class App {
@ViewChild('text1') text1:ElementRef;
ngAfterViewInit()
{
this.printLetterByLetter(this.text1, "Angular2 is awesome", 200)
}
printLetterByLetter(destination:ElementRef, message:string, speed:number){
let i = 0;
destination.nativeElement.innerHTML = "";
let interval = setInterval(()=>{
console.log(i);
destination.nativeElement.innerHTML += message.charAt(i);
i++;
if (i > message.length){
this.printLetterByLetter(this.text1, "Angular2 is awesome", 200)
clearInterval(interval);
}
}, speed);
}
}
答案 0 :(得分:3)
答案 1 :(得分:1)
我想到的几种方法是:
你可以给出一种最小高度的风格:
<div style="min-height: 18px" #text1></div>
Plunker:https://plnkr.co/edit/LR2m8TymNBeExwG0pDq2?p=preview
或使用空字符串string
""