好的,这很难解释,但是我会尽力的。
我从vuex存储中的一系列卡片中以循环方式呈现了一些组件
<card-base
v-for="(card, i) in cards"
:class="`dashboard-card ${card.hidden ? 'hidden' : ''}`">
请注意取决于card.hidden
的类,该类在加载时为 false
现在,每个<card-base>
都有一个按钮(隐藏),应该隐藏它。
我尝试做到的方式是:
卡基组件中的v-btn获得@click
属性,该属性调用方法。
现在,我要将点击的卡片的hidden
属性设置为true。
当然
minimizeDashboardCard() {
console.log(this.hidden)
this.hidden = true
}
不起作用,因为this
不是来自vuex的实际对象,vuex提供了反应性,而只是“元素”。
如果我设置了this.hidden = true
,则没有任何变化(除了console.log第一次单击后正确显示“ true”)
但是如何从this
访问实际的vuex对象?如何获取要在数组中编辑的 index ?有没有办法让卡片组件“说”类似这样的东西:
“在实际的vuex数组中调度更改 ME 的操作”?
像dispatch('hideCard', this)
一样有效吗?
我如何找出阵列中被点击的卡片的索引,或以其他任何方式直接定位它?呈现的元素与存储中定义该元素的数组之间是否存在连接?
我希望你理解我的问题:D 谢谢!