2017年更新: ViewChild将是访问Dom元素的最佳方式。Angular2 + Typescript:如何操作DOM元素?
问题张贴在2016年
我曾尝试以下两种方法,只有方法2级的作品。但是我不想在每个方法中重复使用代码:document.getElementById()。我更喜欢方法1,但为什么方法1不起作用?
有没有更好的方法来操纵Angular2中的DOM?
.html文件:
<video id="movie" width="480px" autoplay>
<source src="img/movie.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
方法1:
...
class AppComponent {
videoElement = document.getElementById("movie");
playVideo() {
this.videoElement.play();
}
}
方法2:
...
class AppComponent {
playVideo() {
var videoElement = document.getElementById("movie");
videoElement.play();
}
}
要一个什么sk?如果可能的话,张贴更多的代码或plunkr。看起来你发布的两种方法都是一样的吗? –
我知道它对于变量看起来是一样的,但实际上对于DOM元素来说,在方法内部声明一个DOM元素变量和外部方法是有区别的。这似乎很奇怪,但在第一种方法失败后我得出了这个结论。 –
你得到的结论是什么?这两者之间有什么重大区别?如果是的话,提供答案可能对其他人有帮助。 –