已知现有20个div容器,每个div容器具有一个独特的id,且每个id对应一个属性很多的对象数组,如何让这20个容器使用统一的内容,列如“负责人: 工艺负责人: 工位编号:”
时间: 2024-11-23 19:30:57 浏览: 18
要实现这个需求,你可以使用Vue的动态组件或者v-for循环来渲染这些内容。这里是一个基本的示例,假设你有一个`data`对象,其中包含所有20个div容器的id以及对应的对象数组:
```html
<template>
<div id="container">
<div v-for="(item, index) in objectArray" :key="index">
<component :is="getComponentName(item.id)" :props="item"></component>
</div>
</div>
</template>
<script>
export default {
data() {
return {
objectArray: [
{ id: '1', content: { responsible: '张三', processResponsible: '李四', workStationNo: '001' } },
// ... 其他19个对象
// ...
],
};
},
components: {
// 这里定义20个可能的组件,根据id的不同显示不同的内容
Component1,
Component2,
// ...
},
methods: {
getComponentName(id) {
// 根据id返回对应组件的名称,这里假设你已经有了这样的映射关系
const componentName = this.componentMap[id]; // 假设 componentMap 是一个对象,键为id,值为组件名
if (!componentName) {
console.error(`未找到与id '${id}'匹配的组件`);
}
return componentName;
},
},
};
</script>
```
在这个例子中,你需要为每一个可能的id创建一个对应的组件(例如`Component1`, `Component2`, 等等),并在`getComponentName`方法中查找正确的组件名。然后在`v-for`循环中,用`:is`指令动态加载组件,并传递相关的数据给组件。
阅读全文