阅读量:0
- 获取数据:发送一个 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
为你实际的接口地址,并根据实际返回的数据结构调整代码。