2017-07-08 71 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