Есть два способа сделать это. То, что вы должны использовать, зависит от того, как должна вызываться функция.
Опция 1. (плагин) Если любому компоненту необходимо вызывать функцию logout
программно, а не просто содержать кнопку для строгой цели выхода из системы. Например, если один компонент содержит кнопку типа «Отправить и выйти», то logout
- это дополнительная функция, которую необходимо вызывать программно.
В этом случае вам следует преобразовать logout
в отдельный плагин , который используется как способ предоставления функциональности глобальной области действия или других атрибутов в Vue.
Пример:
const LogoutPlugin {
install(Vue, options) {
Vue.prototype.$logout = function() {
// logout logic
}
}
}
Vue.use(LogoutPlugin);
new Vue({
// ... options
})
Тогда logout
можно вызвать с помощью this.$logout()
.
Вариант 2. (Композиция) Если для обоих компонентов просто необходимы кнопки выхода из системы, это можно сделать, создав LogoutButton
Компонент, который вы поместите в оба компонента.
* +1025 * Пример:
<template>
<button @click="logout">Log Out</button>
</template
<script>
export default {
name: "LogoutButton",
methods: {
logout() {
// logout logic
},
}
}
</script>
Затем поместите LogoutButton
в любой компонент, который нуждается в этом. Как это:
<template>
<div class="navbar">
<LogoutButton/>
</div>
</template>
<script>
import LogoutButton from './LogoutButton.vue';
export default {
name: "NavBar",
components: {
LogoutButton
}
}
</script>