Вы можете передать эту валюту в представление маршрутизатора, сделав это следующим образом:
<template>
<el-container :is="layout">
<transition name="fade">
<router-view :currency="currency"id="content" :key="$route.fullPath"></router-view>
</transition>
</el-container>
</template>
export default {
data() {
return {
isCollapse: true,
user: '',
type: '',
site_name: process.env.MIX_APP_NAME
}
},
created () {
this.getCurrency()
},
methods: {
getCurrency() {
axios
.get('/api/currencyDefault')
.then(response => {
this.currency = response.data.data
})
.catch(function (error) {
console.log('error', error);
});
},
}
}
Теперь в другом представлении вы можете получить к нему доступ через реквизиты, например
export default {
props:['currency']
}
, но проблема с этим подходом в том, что, когда у вас есть более глубокий дочерний компонент, и вы все еще хотите получить доступ к данным валюты, вам придется снова передавать реквизиты в другое представление маршрутизатора, что скорее приведет к тому, что вам придется нелегко справиться с этим , Я предлагаю использовать Vuex для этого. Поскольку эта валюта доступна для всех ваших просмотров.
см. Документы здесь vuex