2017-05-04 55 views
1

的Html找到組件寬度如何vue.js

Vue.component('tabs', { 
    template:'<li :class="tabselected"><a href="#">{{name}}</a></li>', 
    props:['name','tabselected'] 
}); 

我想找到所有華里寬度之和在這個例子。

+0

它是水平標籤面板嗎? –

+0

是的,它是水平標籤 –

+0

所以你需要UL的寬度,不是嗎? [jsFiddle](http://jsfiddle.net/vjvMp/1498/) –

回答

3

將手錶塊添加到腳本中。

腳本

watch: { 
    'tabelements': function (val) { 
     var lis = this.$refs.ul.getElementsByTagName("li"); 
     for (var i = 0, len = lis.length; i < len; i++) 
     { 
      console.log(lis[i].clientWidth); // do something 
     } 
     console.log(this.$refs.ul.clientWidth, this.$refs.ul.scrollWidth); 
    } 
    } 

如果scrollWidth> clientWidth,U可以顯示你的箭。

已更新。解釋對組件Fiddle

模板

<tabs ref="ul"> 

認沽裁判否則實例亙古不知道它

腳本

this.$nextTick 此功能的run方法時,DOM更新

+0

它不適合我。你可以在https://jsfiddle.net/k0ht01tj/ –

+0

@MuhsinVeeVees,https://jsfiddle.net/k0ht01tj/17/ –