我有前端VueJS網站建設,我想隱藏每個項目被刪除。
我在store.js屬性eventIsActive設置爲true:
export const store = new Vuex.Store({
state: {
eventIsActive: true
}
})
在ShowItems.vue(網版),我有一個刪除方法,我設置eventIsActive爲false:
removeEvent() {
this.$http.delete('/event/' + item)
.then((response) => {
this.$store.state.eventIsActive = false;
this.$router.push('/events');
})
.catch((error) => {
alertify.error('Error', error);
})
}
在同一頁上我沒有該酒店eventIsActive計算方法:
computed: {
getActiveEvent() {
return this.$store.state.eventIsActive;
}
}
在這個頁面的HTML上,我使用了計算的方法來隱藏已刪除的組件。
<template>
<div class="col-6 col-lg-4" v-if="getActiveEvent">
<p>{{itemTitle}}</p>
<p>{{itemSubtitle}}</p>
</div>
</template>
問題是,當我刪除一個項目時,剩下的項目被隱藏起來,而不僅僅是被刪除的項目。
在我剛剛在data()中使用了一個簡單的eventIsActive:true並在removeEvent()中將其設置爲false之前。更容易使用它,但是因爲我有ShowItems.vue(列表版本),如果我刪除網格版本中的某個項目,列表中的版本仍然存在,直到我刷新頁面。
有人可以幫助我在這個方向嗎?
嘗試這種在http.delete item.state.eventIsActive = FALSE使用項目;並告訴我們 –
這是不是一個有效的sintax我的朋友 –
但我試圖告訴你:'''TypeError:不能設置'undefined'的屬性'eventIsActive' –