2017-07-08 56 views
-3

我是VueJS.2的新手,現在正在使用VueJS組件。VueJS嵌套組件:最佳實踐

所以,我結束了這個.vue組件:

<template> 
    <div class="apps"> 
    <ul class="icons"> 
     <li v-for="app in apps" class="app" :style="style"> 
     <div :class="icon(app)"></div> 
     <div class="name">{{app}}</div> 
     </li> 
    </ul> 
    </div> 
</template> 

<script> 
    export default { 
    name: 'desktop-apps', 
    data() { 
     return { 
     apps: ['Txt File', 'Img File', ...], 
     top: 0, 
     left: 0 
     } 
    }, 
    methods: { 
     icon (name) { 
     return 'icon ' + name.toLowerCase().replace(/ /g, '_') 
     }, 
     style() { 
     var _top = this.top 
     var _left = this.left 
     return 'top:' + _top + 'px;left:' + _left + 'px;' 
     } 
    } 
    } 
</script> 

<style> 
    // li has position:absolute and vertically rendered 
</style> 

該組件運行良好......

我想知道,這個代碼是好還是可以即興(通過compute什麼?其他 如果是,那麼如何

另外,我要說明的2個問題:

1:H我可以得到heightul.icons,這樣,如果子女li.app的整體高度比更新top & left風格style method

2:如何從外部組件添加和重新設計appli.app)?

感謝&問候

+0

你的第一個問題(* 「[是]這個代碼是很好的[?]」 *)可能是過於寬泛。這個網站是爲了更具體的問題,就像你的第二個問題。但是,對於這個第二個問題,在這個網站上創建兩個單獨的問題可能是一個好主意,這樣未來的人可以更容易地通過他們的頭銜來搜索他們。 –

+0

@NathanWailes:感謝您對獨立線程的建議,但這兩個問題都是從這個線程的代碼繼承而來的,所以我在這裏問了一下。無論如何,下次我會處理這件事。 –

回答

0

您可以在<ul>ref這樣<ul class="icons" ref='icon'>

,然後返回高度:

this.$refs.icon.offsetHeight