实时获取 Notification 组件中的 API - NuxtJS
Get API in components of Notification by Real Time - NuxtJS
我觉得我有一个愚蠢的问题,但我需要你的帮助。
我正在创建一个 通知组件,它总是被 Axios Real Time 通知(每次重新加载) 但我很难做到。
我的通知组件:
<template>
<ul class="tab-content">
<notification-item></notification-item>
</ul>
</template>
<script>
import ItemNotification from '~/components/header/NotificationItem.vue'
export default {
components: {
'notification-item': ItemNotification
},
created () {
this.$store.dispatch('getNotification')
}
}
</script>
模块通知:/store/notification.js:
import api from '~/plugins/axios'
const state = () => {
return {
notifications: null
}
}
const actions = {
getNotification ({commit}, config) {
api.get(`/notifications/`, config)
.then(response => {
commit('GET_NOTIFICATION', response.data)
})
}
}
const getters = {}
const mutations = {
GET_NOTIFICATION (state, notifications) {
state.notifications = notifications
}
}
export default {
state,
actions,
getters,
mutations
}
这一行 this.$store.dispatch('getNotification') 行不通?我怎样才能以最好的方式做到这一点,或者你们在 Github 中有示例项目给我看。请帮帮我!!!
您正在使用服务器端呈现的 nuxt.js。
mounted()
服务端渲染期间不调用生命周期钩子。
因此在 created()
挂钩
中调度操作
created () {
this.$store.dispatch('getNotification')
}
编辑:
您可以在 $route
属性 上设置一个观察者,只要路线发生如下变化,它就会被调用:
watch: {
'$route' (to, from) {
// react to route changes...
this.$store.dispatch('getNotification')
}
}
我觉得我有一个愚蠢的问题,但我需要你的帮助。 我正在创建一个 通知组件,它总是被 Axios Real Time 通知(每次重新加载) 但我很难做到。
我的通知组件:
<template>
<ul class="tab-content">
<notification-item></notification-item>
</ul>
</template>
<script>
import ItemNotification from '~/components/header/NotificationItem.vue'
export default {
components: {
'notification-item': ItemNotification
},
created () {
this.$store.dispatch('getNotification')
}
}
</script>
模块通知:/store/notification.js:
import api from '~/plugins/axios'
const state = () => {
return {
notifications: null
}
}
const actions = {
getNotification ({commit}, config) {
api.get(`/notifications/`, config)
.then(response => {
commit('GET_NOTIFICATION', response.data)
})
}
}
const getters = {}
const mutations = {
GET_NOTIFICATION (state, notifications) {
state.notifications = notifications
}
}
export default {
state,
actions,
getters,
mutations
}
这一行 this.$store.dispatch('getNotification') 行不通?我怎样才能以最好的方式做到这一点,或者你们在 Github 中有示例项目给我看。请帮帮我!!!
您正在使用服务器端呈现的 nuxt.js。
mounted()
服务端渲染期间不调用生命周期钩子。
因此在 created()
挂钩
created () {
this.$store.dispatch('getNotification')
}
编辑:
您可以在 $route
属性 上设置一个观察者,只要路线发生如下变化,它就会被调用:
watch: {
'$route' (to, from) {
// react to route changes...
this.$store.dispatch('getNotification')
}
}