Я понимаю, как использовать плагин Vue, такой как vue-session, для создания и проведения сеанса.Но я не уверен, как обращаться с пользовательскими данными из сеанса, особенно когда речь идет о реактивности.Например: у меня есть пользовательский компонент в заголовке навигации, который отображает зарегистрированного в данный момент пользователя.Как я могу убедиться, что имя пользователя, отображаемое через этот пользовательский компонент, является реактивным?Другими словами: если во время использования приложения происходит вход в систему (для включения ограниченных функций), то как компонент User может знать?
Является ли $watch
верным путем?Но это означает опрос, не так ли?
Как я могу гарантировать, что пользовательские данные, хранящиеся в плагине сеанса, являются реактивными?
Представьте себе такой компонент, который визуализирует вошедшего в систему пользователя:
<template>
<div>
<div v-if="user.username">
Logged in as {{user.username}}
</div>
<div v-else>
Not logged in.
</div>
</div>
</template>
<script>
export default {
name: "LoggedInUser",
data() {
return {
user: {
username: null,
email: null
}
};
},
computed: {
user() {
return { this.$session.user };
}
}
};
</script>
Я не хочу определять пользователя сеанса в методе create
, поскольку он должен быть реактивным (реагирующим на выход из системы / вход в систему).
Каков наилучший вариант для этого?