this.get() this.username = this.$store.getters.getUsername; const username = JSON.stringify(this.username).replace(/\\"/g, ''); console.log(username); getId(username).then(({ data }) => { this.school=data.school }) selectAllSchool().then(({ data }) => { this.cardMatch = data console.log(this.cardMatch) this.ballgame =new Set(this.cardMatch.map(card => card.type)); }) },
时间: 2024-04-26 16:24:04 浏览: 148
这段代码可能是一个前端Vue.js应用程序中的一部分。它首先获取了一些数据,可能是从Vuex存储中获取的当前用户的用户名。然后,它对该用户名进行了一些处理,例如将用户名转换为JSON格式并替换双引号。接下来,它使用该用户名调用了一个API函数getId(),该函数返回用户的某些数据,例如学校信息。然后它又调用了另一个API函数selectAllSchool(),该函数返回一些卡片匹配信息,并将这些信息存储在cardMatch数组中。最后,它使用map()方法从cardMatch数组中提取一些信息,并将其存储在ballgame Set对象中。
相关问题
export const useUserStore = defineStore('user', { state: () => ({ userInfo: { username: '', id: '', is_admin: '' } }), getters: { isAdmin: state => state.userInfo.is_admin === '1', getUsername: state => state.userInfo.username }, actions: { setUserInfo(username, id, is_admin) { this.userInfo.username = username this.userInfo.id = id this.userInfo.is_admin = is_admin } , getUserInfo() { const isAdmin = this.isAdmin; const username = this.getUsername; return { isAdmin: isAdmin, username: username }; } } }, { persist: true })怎么在其他.vue文件中使用,并且调用getUserInfo渲染
要在其他.vue文件中使用该store,你需要首先导入vuex,并且使用`useUserStore`函数获取store实例。
下面是一个示例:
```
<template>
<div>
<p>Username: {{ username }}</p>
<p v-if="isAdmin">You are an admin</p>
</div>
</template>
<script>
import { useUserStore } from '@/store/user'
export default {
setup() {
const userStore = useUserStore()
const { username, isAdmin } = userStore.getUserInfo()
return {
username,
isAdmin
}
}
}
</script>
```
在该示例中,我们导入了`useUserStore`函数并使用它获取store实例。然后,我们调用`getUserInfo`方法获取用户信息并将其返回给模板进行渲染。注意,在使用`setup`函数时,我们必须使用`return`语句将变量返回给模板。
getLeaderSelectedList() { request({ url: `/api/v1/bizType/${this.$store.getters.bizTypeId}/supervisor-group/getSupervisorById`, method: 'POST', headers: { 'Content-Type': 'application/json' }, data: JSON.stringify(this.form.groupLeaderIds) }).then(res => { this.remoteLeaderList = res.data.map(v => { return { id: v.id, code: v.code, name: v.person.nameZh, departmentName: v.department.nameZh } }) console.log(this.remoteLeaderList); }) }, getMemberSelectedList() { request({ url: `/api/v1/bizType/${this.$store.getters.bizTypeId}/supervisor-group/getSupervisorById`, method: 'POST', headers: { 'Content-Type': 'application/json' }, data: JSON.stringify(this.form.groupMemberIds) }).then(res => { this.remoteMemberList = res.data.map(v => { return { id: v.id, code: v.code, name: v.person.nameZh, departmentName: v.department.nameZh } }) console.log(this.remoteMemberList); }) },优化代码
可以将重复的代码抽象为一个函数,避免重复编写。例如:
function getSelectedList(ids, list) {
const data = {
form: {
groupLeaderIds: ids
}
}
request({
url: `/api/v1/bizType/${this.$store.getters.bizTypeId}/supervisor-group/getSupervisorById`,
method: 'POST',
headers: { 'Content-Type': 'application/json' },
data: JSON.stringify(data.form.groupLeaderIds)
}).then(res => {
list = res.data.map(v => {
return {
id: v.id,
code: v.code,
name: v.person.nameZh,
departmentName: v.department.nameZh
}
})
console.log(list);
})
}
然后可以调用该函数:
getSelectedList(this.form.groupLeaderIds, this.remoteLeaderList);
getSelectedList(this.form.groupMemberIds, this.remoteMemberList);
阅读全文