欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Vue $refs 减小获取dom消耗

程序员文章站 2022-04-06 08:21:17
...

通过前面的文章我们知道了通过$refs是如何获取元素的。其实就是$refs对象中的一个属性指向了创建的元素。

<div ref="divRef" id="divId"></div>

this.$refs.divRef = createElement("div"); 

要获取div元素,我们可以通过document.getElementById("divId") , 也可以直接通过this.$refs.divRef

我们实验一下是否可以减小获取dom的消耗。

<html>
 
<head>
<style type="text/css">

</style>
</head>
 
<body>
   

<div id="testDiv">0</div>

<script>


setTimeout(function(){
    console.log("begin: " + Date.now());
    for(var i=0; i<10000000; i++){
        document.getElementById("testDiv").textContent = i;
 
    }
    console.log("endxx: " + Date.now());
}, 5000);


</script>
 
</body>
</html>

通过getElementById 大约在15秒左右。

 

<html>
 
<head>
<style type="text/css">

</style>
</head>
 
<body>
   

<script>

var testDiv2 = document.createElement("div");
document.body.appendChild(testDiv2);
testDiv2.textContent = 0;

setTimeout(function(){
    console.log("begin: " + Date.now());
    for(var i=0; i<10000000; i++){        
        testDiv2.textContent = i;
    }
    console.log("endxx: " + Date.now());
}, 5000);


</script>
 
</body>
</html>

通过this.$refs 这种方式大约在14秒左右。两者相差不大。

 

相关标签: VUE学习