【问题标题】:Multiple Vue components inside Main component主组件内的多个 Vue 组件
【发布时间】:2019-06-14 16:36:05
【问题描述】:

在主“包装器”组件中动态插入任意数量的子组件的正确方法是什么?

类似这样的:

主父组件:

<template>
  <div id="app">
    <GridContainer v-for="item in items">
        <GridItem />
    </GridContainer>
  </div>
</template>

<script>
import { GridContainer, GridItem } from 'Grid';

export default {
  name: 'app',
  components: {
    GridContainer,
    GridItem
  },
  data() {
    return {
        items: [...array if items that are dynamic]
    };
  };
}
</script>

【问题讨论】:

    标签: vue.js vuejs2 vue-component


    【解决方案1】:

    在组件上做v-for,而不是包装。像这样

    您的 IDE 也可能会警告您缺少密钥,添加密钥的最简单方法是使用索引(但它带有一些警告)。此外,您可能希望将项目传递到组件中。如果你有一个名为item 的道具,你会用:item="item" 传递它

    <template>
      <div id="app">
        <GridContainer>
            <GridItem  v-for="(item, k) in items" :key="k" :item="item"/>
        </GridContainer>
      </div>
    </template>
    
    <script>
    import { GridContainer, GridItem } from 'Grid';
    
    export default {
      name: 'app',
      components: {
        GridContainer,
        GridItem
      },
      data() {
        return {
            items: [...array if items that are dynamic]
        };
      };
    }
    </script>
    

    【讨论】:

    • 我必须做的一件事是在容器中,放置一个&lt;slot /&gt; 组件,以便可以将子组件放入槽中。
    猜你喜欢
    • 2019-02-20
    • 2020-06-07
    • 2021-02-14
    • 1970-01-01
    • 2021-04-23
    • 1970-01-01
    • 2018-06-29
    • 2020-03-07
    • 2020-11-24
    相关资源
    最近更新 更多