熟练使用vue的基本命令完成页面的数据渲染 【训练提示】 1.使用v-for 进行数据渲染 2.使用动态绑定样式 3.使用v-if 判断Tab 方向 【训练步骤】 1.初始化数据 2.完成计算的业务逻辑 3.完成页面的渲染
时间: 2024-03-14 09:45:42 浏览: 46
好的,这个问题可以分为三个步骤来回答。
步骤一:初始化数据
在Vue中,我们可以使用data属性来初始化组件的数据。例如,我们可以定义一个数组来存储需要渲染的数据,如下所示:
```
<template>
<div>
<div class="tab" v-for="(item, index) in tabList" :key="index" :class="{ active: activeIndex === index }" @click="changeTab(index)">
{{ item.title }}
</div>
<div v-if="activeIndex === 0">
<ul>
<li v-for="(item, index) in dataList" :key="index">{{ item }}</li>
</ul>
</div>
<div v-if="activeIndex === 1">
<ul>
<li v-for="(item, index) in dataList2" :key="index">{{ item }}</li>
</ul>
</div>
</div>
</template>
<script>
export default {
data() {
return {
tabList: [
{ title: 'Tab1' },
{ title: 'Tab2' },
],
activeIndex: 0,
dataList: ['Data1', 'Data2', 'Data3'],
dataList2: ['Data4', 'Data5', 'Data6'],
};
},
methods: {
changeTab(index) {
this.activeIndex = index;
},
},
};
</script>
```
在这里,我们使用了data属性来定义了组件的数据。其中tabList数组存储需要渲染的Tab数据,activeIndex表示当前选中的Tab的索引,dataList和dataList2分别表示Tab1和Tab2需要渲染的数据。
步骤二:完成计算的业务逻辑
在Vue中,我们可以使用计算属性来完成一些复杂的业务逻辑。例如,我们可以定义一个计算属性来计算选中的Tab需要渲染的数据,如下所示:
```
<template>
<div>
<div class="tab" v-for="(item, index) in tabList" :key="index" :class="{ active: activeIndex === index }" @click="changeTab(index)">
{{ item.title }}
</div>
<div v-if="activeIndex === 0">
<ul>
<li v-for="(item, index) in tabOneData" :key="index">{{ item }}</li>
</ul>
</div>
<div v-if="activeIndex === 1">
<ul>
<li v-for="(item, index) in tabTwoData" :key="index">{{ item }}</li>
</ul>
</div>
</div>
</template>
<script>
export default {
data() {
return {
tabList: [
{ title: 'Tab1' },
{ title: 'Tab2' },
],
activeIndex: 0,
data: [
{ type: 'tab1', value: ['Data1', 'Data2', 'Data3'] },
{ type: 'tab2', value: ['Data4', 'Data5', 'Data6'] },
],
};
},
computed: {
tabOneData() {
return this.data.find((item) => item.type === 'tab1').value;
},
tabTwoData() {
return this.data.find((item) => item.type === 'tab2').value;
},
},
methods: {
changeTab(index) {
this.activeIndex = index;
},
},
};
</script>
```
在这里,我们使用了计算属性来计算选中的Tab需要渲染的数据。我们使用了一个data数组来存储不同类型的数据,然后通过计算属性来获取需要渲染的数据。
步骤三:完成页面的渲染
在Vue中,我们可以使用v-for指令来进行数据渲染。例如,我们可以使用v-for指令来渲染Tab和数据,如下所示:
```
<template>
<div>
<div class="tab" v-for="(item, index) in tabList" :key="index" :class="{ active: activeIndex === index }" @click="changeTab(index)">
{{ item.title }}
</div>
<div v-if="activeIndex === 0">
<ul>
<li v-for="(item, index) in dataList" :key="index">{{ item }}</li>
</ul>
</div>
<div v-if="activeIndex === 1">
<ul>
<li v-for="(item, index) in dataList2" :key="index">{{ item }}</li>
</ul>
</div>
</div>
</template>
<script>
export default {
data() {
return {
tabList: [
{ title: 'Tab1' },
{ title: 'Tab2' },
],
activeIndex: 0,
dataList: ['Data1', 'Data2', 'Data3'],
dataList2: ['Data4', 'Data5', 'Data6'],
};
},
methods: {
changeTab(index) {
this.activeIndex = index;
},
},
};
</script>
```
在这里,我们使用了v-for指令来渲染Tab和数据。我们使用了:class绑定动态样式来实现Tab的选中状态,使用v-if指令来判断选中的Tab需要渲染的数据。
阅读全文