arrays - 使用 Vue JS Typescript 迭代一个对象 -> 数组 -> 对象
问题描述
所以我有一个包含对象数组的对象。我需要获取数组每个对象中的数据以显示营业时间。
我已成功检索到代码段内 for 循环中的每个键值。但我不确定如何在我的 .vue 视图页面中显示它。
我使用字符串插值吗?我是否应该在 .vue 页面中使用 v-for 指令来显示数据?
对于 Vue JS 来说仍然是相当新的,所以任何帮助都将不胜感激!
import {
Vue,
Component
} from 'vue-property-decorator';
import {
namespace
} from 'vuex-class';
import FoodMerchant from '../../models/FoodMerchant';
export default class MerchantProfilePage extends Vue {
@namespace('merchant').State('foodMerchant') foodMerchant!: FoodMerchant;
openingHours() {
for (let i = 0; i < this.foodMerchant.opening_hours.data.length; i++) {
console.log(this.foodMerchant.opening_hours.data[i].startHour);
}
}
}
<button @click="openingHours()">show opening hours</button>
<div class="openingHours d-flex flex-wrap mb-10">
<div class="d-flex justify-content-between mb-10 w-100">
<h5 class="font-italic text-black font-12">
Wednesday
</h5>
<h5 class="font-italic text-black font-12 font-weight-light">
5:00pm - 11:00pm
</h5>
</div>
</div>
<div class="openingHours d-flex flex-wrap mb-10">
<div class="d-flex justify-content-between mb-10 w-100">
<h5 class="font-italic text-black font-12">
Thursday
</h5>
<h5 class="font-italic text-black font-12 font-weight-light">
5:00pm - 11:00pm
</h5>
</div>
</div>
<div class="openingHours d-flex flex-wrap mb-10">
<div class="d-flex justify-content-between mb-10 w-100">
<h5 class="font-italic text-black font-12">
Friday
</h5>
<h5 class="font-italic text-black font-12 font-weight-light">
5:00pm - 11:00pm
</h5>
</div>
</div>
<div class="openingHours d-flex flex-wrap mb-10">
<div class="d-flex justify-content-between mb-10 w-100">
<h5 class="font-italic text-black font-12">
Saturday
</h5>
<h5 class="font-italic text-black font-12 font-weight-light">
5:00pm - 11:00pm
</h5>
</div>
</div>
<div class="openingHours d-flex flex-wrap mb-10">
<div class="d-flex justify-content-between mb-10 w-100">
<h5 class="font-italic text-black font-12">
Sunday
</h5>
<h5 class="font-italic text-black font-12 font-weight-light">
5:00pm - 11:00pm
</h5>
</div>
</div>
解决方案
<div class="openingHours d-flex flex-wrap mb-10" v-for="(item, index) in foodMerchant.opening_hours.data" :key="index">
<div class="d-flex justify-content-between mb-10 w-100">
<h5 class="font-italic text-black font-12">
{{ weeks[item.day - 1] }}
</h5>
<h5 class="font-italic text-black font-12 font-weight-light">
{{ item.startTime }} - {{ item.endTime }}
</h5>
</div>
</div>
<script>
export default {
data() {
return {
weeks: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
}
}
}
</script>
希望能帮助到你
推荐阅读
- python - Spark:如何将元组转换为 DataFrame
- linux - 如果文件描述符关闭,Linux write() 会使应用程序崩溃
- javascript - 如何在 li 标记中添加?
- go - Gorilla mux REST api 在使用带有双斜杠的 POST 时出现 405 错误,但仍然可以使用 GET
- java - 请求字段的 Java 注释
- python - 拆分熊猫
- cookies - Electron set-cookies HTTP 标头
- javascript - 需要将二维数组响应转换为Angular 9中的json对象
- json - 如何配置 OrientDB ETL 以将 LinkList 作为边缘属性导入
- r - 如何将按钮添加到闪亮的待办事项列表中的项目