gpt4 book ai didi

javascript - 在 Vuejs 中创建全局变量

转载 作者:搜寻专家 更新时间:2023-11-01 05:29:44 25 4
gpt4 key购买 nike

我正在 VueJS 创建一个应用程序,我想创建一个服务或全局变量来存储客户端是否向服务器发出请求。我一直在考虑配置一个中断器,它在发出请求时将全局变量设置为 true,并在请求完成时将变量设置为 false。

因此,当我使用加载器组件时,它仅在变量为真时显示。

例子:

// As i do
<form @submit.prevent="save">
<h2>{{ $t('organization.labels.organization')}}</h2>
<div class="row">
<div class="col m6 s12" v-if="$route.name == 'organization'">
<form-input-text :title="$t('organization.labels.client_number')" :model.sync="form.client.client_number" ></form-input-text>
</div>
<div class="col m6 s12">

<div class="center" v-if="loader.is_loading">
<material-loader></material-loader>
<br> <small>{{ $t('organization.labels.loading')}}</small>
</div>

</div>
</div>

</form>

// As it should work
<form @submit.prevent="save">
<h2>{{ $t('organization.labels.organization')}}</h2>
<div class="row">
<div class="col m6 s12" v-if="$route.name == 'organization'">
<form-input-text :title="$t('organization.labels.client_number')" :model.sync="form.client.client_number" ></form-input-text>
</div>
<div class="col m6 s12">

<div class="center" v-if="$loader.is_loading"> <== $loader
<material-loader></material-loader>
<br> <small>{{ $t('organization.labels.loading')}}</small>
</div>

</div>
</div>

</form>

有什么想法吗?主要思想是必须为每个 View 创建一个变量 is_loading,以了解用户是否正在请求某些东西。

最佳答案

答案是在我的 app.vue 中创建一个变量 is_loading,它是应用程序容器 ($root)。

<template>
<div id="app">
<navigation></navigation>
<div class="main-container">
<router-view></router-view>
</div>
<!-- <binnacle-footer></binnacle-footer> -->
</div>
</template>

<script>

import UserProvider from 'users/provider/User.provider'
import session from 'session/index'
export default {
data() {
return{
loader : {
is_loading : false
}
}
},
methods :{
getUser(){
var self = this;
self.$root.loader.is_loading = true;
UserProvider.get().then((user)=>{
self.$root.loader.is_loading = false;
self.current_user = user;
}).catch((err)=>{
self.$root.loader.is_loading = false;
})
}
},
ready(){

this.getUser();
},

}
</script>

然后您只能使用 $root 在任何您想要的地方调用它。

:)

关于javascript - 在 Vuejs 中创建全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34733080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com