我正在使用Creative-Tim Dashboard开发一个小型应用程序,我意识到每次从侧边栏切换页面时,加载在每个页面上的组件都会被破坏并重新创建。
我在我的应用程序中使用全局Vue Mixin发送和接收MQTT消息。每次切换面板时都会调用方法created
和beforeDestroy
。
有没有办法:
作为示例,我的组件之一是MQTT小部件:
<template>
<Widget :title="title" :subtitle="subtitle" :footer="topic">
<h1>{{value}}</h1>
</Widget>
</template>
<script>
import Widget from './Widget.vue'
export default {
name: 'numeric-widget',
components: {
Widget
},
props: {
title: String,
subtitle: String,
topic: String,
unit: String
},
data () {
return {
value: '--'
}
},
mounted () {
// Subscribe method is exposed by a global Vue Mixin
this.subscribe(this.topic, (topic, payload) => {
this.value = payload
})
}
}
</script>
这是怎么回事:
--
)beforeDestroy
被称为created
被称为--
好像从未收到任何消息。 我在许多问题上看到使用<keep-alive>
可能会有所帮助。不幸的是,在我看来,它似乎不起作用。