--------------更新---------------
ChangeDetectorRef.detectChanges()运行组件及其子组件的更改检测器。因此,它可能是一种解决方案。
--------------原始问题----------------
目的:我希望在组件中更新特定的dom元素后获得通知。
结果: p 的clientHeight仍然是之前的值,而不是最新值。
预期结果:最新值
可能的解决方案:
4。我的困惑:
changeProperty(this.text => {
this.text = 'A long long text';
}).then( () => {
// here is the state after the corresponding text is updated in the view
})
或者哪种方法可以解决这个问题? 感谢任何想法!
答案 0 :(得分:1)
没有这样的东西,我怀疑它会不会出现。
但是,您的特定问题可以以完全不同的方式解决。只要您想控制text / html的呈现方式,就可以更轻松地自己呈现它。
只需设置innerHTML,就会有适当的高度
changeText(para) {
para.innerHTML = 'long text';
console.log(para.clientHeight);
}
就是这样。请记住,在分配之前使用innerText
或执行某些HTML清理可能更好。