6.组件<student>有两个自定义的属性, name和studentid 7.vue根实例存学号和姓名,将根实例的数据传递给组件, 循环展示
时间: 2024-12-03 19:32:43 浏览: 15
在Vue.js中,如果你有一个名为`Student`的组件,它有自定义属性`name`和`studentId`,并且你想在根级的Vue实例中存储学生的姓名和学号,然后循环遍历并显示这些数据到各个`Student`组件中,你可以这样做:
首先,在根实例(通常是一个Vue应用的`App`组件或其他挂载点)上创建一个数组或对象,保存学生的信息,例如:
```javascript
data() {
return {
students: [
{ name: '张三', studentId: '001' },
{ name: '李四', studentId: '002' },
// 更多学生数据...
]
}
}
```
接下来,在模板中,你可以使用`v-for`指令来遍历`students`数组,并将每个学生的数据作为props传递给`Student`组件:
```html
<template>
<div id="app">
<ul>
<li v-for="(student, index) in students" :key="index">
<Student :name="student.name" :studentId="student.studentId"></Student>
</li>
</ul>
</div>
</template>
```
在这个模板里,`:name`和`:studentId`是绑定属性,它们会从根实例的`students`对象中获取对应的学生信息。
然后在`Student`组件内部接收并显示这些数据:
```vue
<template>
<div>
<h3>{{ name }} - 学生ID: {{ studentId }}</h3>
</div>
</template>
<script>
export default {
props: ['name', 'studentId']
}
</script>
```
每当`App`实例的数据变化时,`Student`组件就会自动更新显示新的学生信息。这就是如何在Vue中通过父子组件间的通信共享数据并动态展示。
阅读全文