javascript - VueJS v-for,对象不显示键
问题描述
问题是我正在选择选项,将它们存储在一个对象中并使用 v-for 迭代对象的键并显示选定的选项。这是我的代码:
data() {
return {
points: 100 as number,
categories: [{name: "Fitness", items: "6"}, {name: "Electronics", items: "10"},
{name: "Fitness", items: "6"}, {name: "Electronics", items: "10"},
{name: "Fitness", items: "6"}, {name: "Electronics", items: "10"}] as Array<Record<string, string>>,
filters: {} as Record<string, number>
};
}
和html
<div id="filterContainer" class="d-flex flex-column">
<div class="d-flex flex-row justify-content-between">
<p id="recent">All Categories</p>
<div class="ellipsesDropdown">
<div class="d-flex flex-column">
<FilterIcon id="filterIcon" />
<div v-if="filterKeys() > 0" class="filterDot align-self-end"></div>
</div>
<div class="dropdown-content">
<p v-for="(cat, ind) in categories" :key="ind" @click="filters[cat.name] = 1">{{cat.name}} ({{cat.items}})</p>
</div>
</div>
</div>
<div class="d-flex flex-row flex-wrap" style="height: 32px;">
<div v-for="(val, key, ind) in filters" :key="ind" class="filterSelection d-flex flex-row">
{{key}}
<CloseIcon @click="delete filters[key]" class="closeIcon" />
</div>
<p v-if="filterKeys() > 0" @click="filters = {}" class="clearAllText">Clear all</p>
</div>
</div>
控制台中没有任何错误。我已经在单击时记录了过滤器数据对象,并且确实将值添加到其中。我错过了什么?
编辑:这是我创建的小提琴的链接:https ://jsfiddle.net/ayudh37/2uqm9nar/3/
编辑 2:阅读我在这里遇到的问题:https ://vuejs.org/v2/guide/reactivity.html
解决方案
推荐阅读
- python - 使用 github 存储 CSV 时出现 CParserError
- sql-server - 如何使用连接子句联合多个数据库
- javascript - 具有模态实现的谷歌图表
- firebase - 使用 BigQuery 中的 app_instance_id 擦除 firebase 实例
- encoding - CBOR 负整数的基本原理
- ruby-on-rails - 直接在 MongoDB 中维护索引并避免 Rails 应用程序覆盖它们
- svn - 主干(或给定分支)中最新修订的修订说明符
- php - 在每一行中合并具有相同product_id但不同style_id的行
- java - 服务的 Spring Boot 多模块单元测试
- database - 如果在数据库事务发生的那一刻断电会发生什么?