- 获取数据:发送一个 AJAX 请求到接口,获取 A 和 B 的数据。
- 处理数据:根据获取到的数据决定展示的内容。
- 展示数据:使用 Vue 的条件渲染来展示 A、B 或空。
以下是具体的实现代码:
<template><div><h1 v-if="displayData">数据展示</h1><p v-if="displayData === 'A'">A</p><p v-if="displayData === 'B'">B</p><p v-if="displayData === 'A+B'">A+B</p><p v-else>空</p></div>
</template><script>
import axios from 'axios';export default {data() {return {displayData: null};},created() {this.fetchData();},methods: {fetchData() {axios.get('/api/data').then(response => {const { A, B } = response.data;if (A && B) {this.displayData = 'A+B';} else if (A) {this.displayData = 'A';} else if (B) {this.displayData = 'B';} else {this.displayData = null;}}).catch(error => {console.error('Error fetching data:', error);this.displayData = 'Error';});}}
};
</script>
代码解释
-
模板部分:
- 使用
v-if
指令来决定是否展示数据。 - 根据
displayData
的值展示不同的内容。
- 使用
-
脚本部分:
data
函数返回一个对象,其中包含一个属性displayData
,用于存储展示的数据。created
钩子在组件创建时调用fetchData
方法。fetchData
方法使用axios
发送 AJAX 请求到/api/data
。假设这个接口返回一个对象,包含A
和B
属性。- 根据接口返回的数据,设置
displayData
的值。如果 A 和 B 都存在,则展示 “A+B”;如果只有 A 存在,则展示 “A”;如果只有 B 存在,则展示 “B”;如果两者都不存在,则设置为null
表示空。
确保替换 /api/data
为你实际的接口地址,并根据实际返回的数据结构调整代码。