我对nuxt,vue和vuex存储有以下问题:
我有一个特殊的移动布局,有两列,可以点击:https://streamable.com/fqm8a
如您所见,左侧列中的单击显示它,右侧的单击显示日历 .
我现在要改进的是:如果我点击日历中的预告片,我想自动将帖子滑动到视图中 .
到目前为止,我在包装列上有这个代码:
<template>
<div class="CalendarView">
<div v-on:click="detailViewActive ? toggleDetailView() : null" id="CalendarView" :class="['CalendarView__column', 'CalendarView__column--calendar', detailViewActive ? 'detail-view-active' : '']">
<div class="CalendarView__column-wrapper">
<slot name="column-left"></slot>
</div>
</div>
<div v-on:click="!detailViewActive ? toggleDetailView() : null" :class="['CalendarView__column', 'CalendarView__column--postdetail', detailViewActive ? 'detail-view-active' : '']">
<slot name="column-right"></slot>
</div>
</div>
</template>
包装:点击设置 detailViewActive
,这是vuex商店中的布尔值 . 这会更改列上的类,这将激活css转换 .
不,我以为我打开日历条目组件,我会再次点击nuxt链接:
<nuxt-link class="PostTeaser__link" :to="link" v-on:click.native="!detailViewActive ? openDetailView() : null">
tags, date and title
</nuxt-link>
和方法:
openDetailView () {
this.log('open detail')
this.$store.commit('ui/OPEN_DETAILVIEW')
}
这将再次将vuex存储中的 detailViewActive
布尔值更改为true .
So far so good: But now to the problem: 当我点击触发 openDetailView
方法的nuxt-link时,也会触发列上的点击,它会立即重置 detailViewActive
. (单击“打开”>“关闭”) .
所以
有人知道如何解决这个问题吗?
谢谢你的暗示 . 干杯
1 回答
好吧,我得到了一个解决方案:
我设置
所以
detailViewActive
还没有,当执行重置点击时...